一、函数
1.概念:实际上就是一个可以作为一个逻辑单位元对待的代码块
2.作用:使代码更佳简洁,提高重用性
3.定义函数:function 函数名([x,y,z,...]){ [return ex]}
函数名:在同一个页面里,函数名必须唯一。
参数部分可选填,参数用逗号隔开,最多可添加255个数
return 选填
关于return:没有return,函数只代表一些列的逻辑运算
有return,函数返回一个特定值,此时函数可以作为一个值参与到运算中
return后则结束函数
4.函数调用:函数定义后不会自动执行,需要在特定的位置调用函数
5.函数参数:
形参:形式参数,就是函数名后小括号里的内容
实参:在调用函数时小括号里的内容
传参:将实参传递给形参,用形参表示实参
arguments:函数的参数是作为一个数组返回的
二、闭包
1.作用域:
(1)全局变量,函数外边
(2)局部变量,函数里面(局部变量必须写var,否则作为全局变量处理)
(3)不建议在局部变量于全局变量同名
(4)局部变量声明一定要加var
2.匿名函数(自调用)
(1)匿名函数就是没有名字的函数
(2)js的普通函数在代码执行前就被加载到了作用域中,即函数的吊桶不一定要卸载函数的声明后
(3)js的匿名函数则是代码执行到了这一步才开始起作用
(4)形式:var fun = function(){}
(function(){})()
3.如何从外部获取局部变量(闭包)
(1)定义:有权访问另一个函数作用域中变量的函数
(2)简单来说就是在函数内部定义一个新的函数
(3)作用:让局部变量数据持久化
(4)由简入深: