js3
1. ***函数: 封装一个专门任务的步骤清单的代码段
起一个任务名
何时使用:只要定义一个专门的任务,都要封装一个函数
使用函数: 声明 定义 和调用
如何声明并定义一个函数:
function 函数名([参数变量列表]){
函数体:包含任务的步骤清单(代码段)
[return 返回值]
}
如何调用函数:[var 返回值=]函数名([参数值列表]);
函数只有调用时才执行!
反复调用,会反复执行相同操作!
为什么定义函数:一次定义,反复使用!——代码重用!
一次修改,处处生效!
函数的参数:专门接收传入函数内的数据的*变量*
何时定义参数:如果一个函数必须某些数据才能正常执行时
参数可让函数变得更灵活
如何定义参数变量:function 函数名(变量1,变量2,...)
如何传递参数值:调用时: 函数名(值1,值2,...)
强调:一般值的个数和顺序,应与声明时的参数列表一致
返回值:方法调用后,返回的执行结果!——1个数据
如何返回数据:函数体中:return 要返回的数据;
强调:1. return单独使用,表示退出函数执行的意思
2. 函数仅负责返回值,不负责保存返回值!
如何获得返回值:调用时:var 变量=函数名();
***变量作用域:一个变量的可用范围
js中2种作用域:
1. 全局作用域:一个变量可以在程序的任何位置被访问。
2. 函数作用域:一个变量仅能在函数调用时,内部被访问
js中2种变量:
1. 全局变量:定义在全局作用域中的变量
2种:1. 直接在任何函数外声明的变量
全局变量都属于window——全局对象
2. 无论在任何位置,为从未声明过的变量赋值时
自动在全局创建同名全局变量!
2. 局部变量:定义在函数作用域中的变量
2种:1. 在函数定义内部声明的变量
2. 参数变量天生就是局部变量
函数其实是引用类型的对象;
函数名其实是指向函数对象的变量;
函数的定义和调用过程:
1. 声明和定义函数时:
window中创建了函数名变量
window外创建了函数定义的对象-->封装函数的定义
函数名变量中保存了指向函数对象的地址
2. 调用时,创建局部变量:2种
3. 调用过程中,如果局部有,就不用全局的
如果局部没有,才会用全局的
如果全局也没有,则报错!
4. 调用结束后,释放所有局部变量!
浙公网安备 33010602011771号