JavaScript基础——函数简介(作用域)

函数是一个可以重复调用的代码块。

函数不调用的话,是不会执行的。

创建函数的方法

function 函数名(形参) {

        函数体;

}

形参可以有,也可以没有。

var  变量名 = function (){

        函数体

}; 

这种创建方式是把创建的函数存入变量当中去。(后面深入学习再介绍啦)

函数返回值问题 

函数分为两类:有返回值、没有返回值

有返回值:

a.   return ; 返回值为空——undefined类型

b.   return  值;返回值为一个数值——Number类型

没有返回值:

函数体中没有return;

作用域

作用域的概念:作用域就是代码名字在某个范围内起作用。目的是为了提高程序的可靠性,减少命名冲突。

JavaScript作用域(es6)之前:全局作用域、局部作用域(函数作用域),没有块级作用域

 变量作用域:全局变量、局部变量

全局变量:在全局作用域中声明的变量就是全局变量;函数内部没有声明直接赋值使用的变量也是全局变量(不常用)。

局部变量:在局部作用域中声明的变量就是局部变量;函数的形参也是局部变量。

 

作用域链

作用域链:就是内部函数访问外部函数的变量,采取的是查找的方式来决定取哪个值。(就近原则)

通俗来说:链就是函数内部还定义的有函数,最里层的变量的取值是链式访问的。

 

函数的作用域

函数作用域:简单来说就是函数起作用的范围(也叫有效范围)就叫函数的作用域。

作用域分为全局作用域、局部作用域

全局作用域:全局作用域是整个页面都可以使用(script就是再全局作用域中)

局部作用域:只在函数内部(部分区域)起作用的范围

全局变量:定义在函数外部的变量

局部变量:定义在函数内部的变量

局部变量的生命周期和生效范围只在声明该变量的函数区域内,函数调用完成后,自动销毁。

所以,局部变量比较节省内存空间

 

今天暂时就写到这了。

下一篇是有关函数的一些小练习啦!!!

你可能感兴趣的:(#,Javascript基础,JS函数,作用域,作用域链,变量)