逆战班!js函数与作用域

### 函数

什么是函数:程序中描述一项任务的步骤清单的代码段,再起了一个名字
何时使用:只要一段代码 或者 一项任务可能被反复执行时
都要先定义为一个函数,再反复调用函数执行

如何使用:
1、*先创建函数,以*声明*方式创建函数
function 函数名(形参列表){
函数体;
return 返回值;
}
形参:专门接受函数执行时,必要的数据的变量
何时:如果一个函数,必须接受执行的数据才能正常执行的时候
如何:不用var创建,每个参数之间用逗号隔开
返回值:函数的执行结果
何时:如果将来调用函数的人需要获得函数执行的结果,就要将结果return出来
函数的结果可以返回到外部使用
如何:return 返回值;
return的本意其实就是退出函数
如果return后跟着一个数据,会顺便将数据返回到函数外部!不负责保存!

2、调用函数:var result=函数名(实参列表);
实参列表:一个数据 或者 多个数据,逗号隔开
鄙视题:实参的个数是不是一定要等于形参的个数?
实参的个数不一定非要等于形参的个数
如果实参的个数>形参的个数
多余的实参就会被舍弃掉
如果实参的个数<形参的个数
没接到实参的形参为undefined
建议:严格按照形参的个数传入实参!!!
result:专门用于接受函数调用后结果的变量
如果你不需要结果那么可以省略
几乎大多数的函数都会有return操作,因为我们都能直接获得函数的结果

作用域(scope):一个变量的可用范围

​ 1、全局作用域:在全局作用域中存储的变量和函数,可以在任何位置都可以访问
​ 全做局用域中创建的变量和函数都称之为全局变量、全局函数
​ 函数定义其实是一个引用类型的对象
​ 函数还可以定义为:使用*直接量*
​ var 函数名=function(形参列表){函数体;return 返回值;}

2、函数作用域:在函数中存储变量和函数,只能在本次函数调用时,内部才可以访问
变量的使用规则:优先使用局部变量
如果局部没有,找全局要
如果全局没有,就报错
***局部变量:形参 和 自己创建的变量
在任何位置给未声明的变量赋值,都会在全局创建该变量
-- 禁止!


全局污染:在局部尝试给未声明的变量直接赋值,都会导致篡改全局的变量值
强烈建议:所有变量都要var后,再操作。

直接使用一个未声明的变量,会报错
直接给一个未声明的变量赋值,会全局污染

猜你喜欢

转载自www.cnblogs.com/lanbai/p/12629879.html