arguments:
形参个数==实参个数: 参数一一对应
形参个数>实参个数:一一对应,未赋值的变量是一个undefined
形参个数<实参个数:一一对应
任何函数内部都有叫arguments对象。
arguments: 接收传递的所有的实参的,接收的方式特殊
变量和函数的提升
jsl之所以能在浏览器中运行,是因为浏览器中有js引擎执行代码:
先找到所有声明相关的,进行提升(声明提升)
变量提升和函数提升
变量提升只提升声明部分**:var a;
函数提升,提升的是整体: function getSum(){console.log(1+2);}
如果变量提升和函数提升都存在,函数提升会在变量提升的上面
提升到当前作用域的最顶端:
作用域
作用域:作用(起作用) 域(区域,范围)
作用域分为:全局作用域和局部作用域
定义的位置的区别:
全局作用域:函数的外面
局部作用域:在函数内部,
注意: 如果在函数内部,如果没有通过var 来定义的变量还是全局变量
全局作用和局部作用访问的区别:
在全局作用域内定义变量,整个script内都可以访问到
在局部作用域内定义的变量,只能在局部内部访问,外部访问不到
函数的调用方式
函数调用的方式:1. 直接調用 fn() 2. 事件调用(点击的时候调用 οnclick=“fn()”)
点击后— >发生的事情 onclick点击事件
鼠标事件 单击事件,双击事件 鼠标移入,移出, 鼠标按下,鼠标抬起,鼠标移动
键盘事件
UI事件
窗口事件