JavaScript之基础-5 JavaScript 函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript之基础-5 JavaScript 函数相关的知识,希望对你有一定的参考价值。

一、javascript 函数定义


函数(方法,过程)

  - 函数(Function),有时也被称为方法(Method),或者过程(Procedure)

  - 是一段预定义好,并可以被反复使用的代码块,其中可以包含多条可执行语句

  - 函数本质上是功能完整的对象


定义函数(方法,过程)的功能

  - 使用关键字 function 定义一个函数

  - 函数名的定义规则与标识符一直,大小写敏感

  - 最简单的函数定义

技术分享


定义参数和返回值

  - 稍微复杂些的函数可能需要声明执行参数

  - 或者使用 return 关键字声明函数的返回值

技术分享


二、JavaScript 函数的调用


调用函数时的参数传递

  - 若函数定义中指定需要传递参数,那么调用此函数时就必须提供需要的值。

    如下函数定义:

    技术分享

        技术分享


得到返回值

  - 若函数定义中声明了返回值,那么调用该函数时可以接收此返回值。

    如下函数定义:  

    技术分享

    技术分享


函数内调用函数

  - 可以在一个函数体内调用其它函数

技术分享

  - 函数体内调用其它函数的复杂例子

技术分享


三、JavaScript 变量的作用域


作用域概述

  - 作用域就是变量与函数的可访问范围,他控制着变量与函数的可见性和生命周期

  - 在JavaScript中,变量和函数的作用域分为:

      - 函数作用域,只在当前函数内可访问

      - 全局作用域,一经定义,在代码中任何地方都能访问


函数作用域中的变量

  - 函数作用域中德变量(局部变量)只在当前函数内可访问到,离开此范围就无法访问了

技术分享


全局作用域中的变量

  - 全局作用域中的变量(全局变量)在代码的任何位置都可以访问到

      - 在最外层定义的变量是全局变量

技术分享


声明提前

  - JavaScript 程序在正式执行前,会将所有 var 声明的变量和 function声明的函数,预读到所有作用域的顶部

  - 但是对变量的赋值让保留在原位置,随脚本解释执行。

  - 比如:

技术分享

  - 声明提前仅能将声明提前到所在作用域的顶部

    技术分享

    等效于:

    技术分享


  - 声明提前不但能将变量声明提前,而且还会将函数声明提前

技术分享

    等效于:

技术分享

  - 总结: 今后尽量将变量的声明和函数的声明集中在当前作用域的顶部。


按值传递

  - 按值传递指将实参变量的值复制一份儿副本给方法的形参变量

  - JavaScript 中为方法传递参数时,都是按值传递的

  - 如果传递的是原始类型数据,则在方法内修改参数变量的值,不会影响外部的实参变量

  - 比如:

技术分享


函数的作用域

  - 与变量类似,函数的作用域也分为"全局作用域(全局函数)"和"函数作用域(局部函数)"

      - 在最外层定义的函数是全局函数

技术分享

      - 在一个函数内部定义的函数是局部函数

技术分享



三、JavaScript 全局函数


全局函数概述

  - ECMAScript 中预定义了一组全局函数,可供用户直接使用

技术分享

encodeURI 与 decodeURI

  - encodeURI()函数用于对统一资源标示符(URI)进行编码,返回编码后的URI字符串

  - decodeURI()函数用于对使用encodeURI()编码之后的字符串进行编码

技术分享


eval函数

  - eval()函数用于执行以string形式出现的JavaScript代码

  - 使用此函数使JS可以执行动态的JavaScript源代码

技术分享


总结:本章内容主要介绍了 JavaScript 函数

本文出自 “技术交流” 博客,谢绝转载!

以上是关于JavaScript之基础-5 JavaScript 函数的主要内容,如果未能解决你的问题,请参考以下文章

JavaScrip基础

JavaScrip的入门基础1

JavaScrip笔记心得(持续更新)

JavaScrip笔记心得(持续更新)

JavaScrip笔记心得(持续更新)

JavaScrip和Java一样吗?