javascript 函数注意问题 作用域 预解析 argument == 对象 ===伪数组

函数案例== 案例==重点

函数注意问题 = =自己总结

函数作用域 == 变量在哪里申明和使用的问题

预解析  == 分析什么事预解析  发生了什么事

对象 ====重点中的重点    JS 后边就轻松了 ===什么是对象== 找对象

argument == 对象 ===伪数组 

函数外面的num和参数num不是同一个变量(不是同一块空间)  【相同名字】

转到定义 可以看函数构造  

函数里面可以调用其他函数   函数可以作为参数使用  函数做位返回值使用

console.log(arguments.length)//函数在调用的时候 传入的参数个数
console.log(arguments)//arguments对象可以获取传入 参数的值

函数定义:

命名函数   匿名函数    申明然后调用    调用:函数代码()     或者 函数名()

匿名函数不能直接调用!  通过给匿名函数一个空间变量  然后调用   俗称:函数表达式      函数自调用(一次性  方便安全)

 函数定义:函数申明  函数表达式  函数自调用

函数也是一种数据类型    数据类型 是function

作为参数的函数是不回调的函数  作为调函数的函数是  回调函数

 函数还可以作为返回值使用  

参数和rutern 可以返回任意类型

 

作用域

 

/*作用域:使用范围
*
* 全局变量: var 页面不关闭就不会释放 就会占据空间 消耗内存
*
* 局部变量: 在函数内部定义的变量
*
* 全局作用域:全局变量使用范围
*
* 局部作用域:局部变量使用的范围
*
* 块级作用域:{}
*
* 隐式全局变量 :没有VAR
*
* 全局变量是不会被删 隐式能删除数据
* ********/

 

/*作用域链 由多个作用域组成的区域 (函数嵌套) 找变量遵循就近原则 */
/*预解析!!
********
* 提前解析
* 把变量声明提前 函数提前
*
* 在解析代码之前 把变量声明还有函数申明提前 提前到当前所在作用域的最上边
*
* 变量申明 》 函数申明
*
* 预解析会分段(多对script标签,函数重名不会冲突  互不影响)
*
* js解析器  : 两个过程  1 预解析  然后执行代码
*
* */

 

posted @ 2018-08-20 22:59  码路上的奋斗  阅读(145)  评论(0编辑  收藏  举报