看我怎么用思维导图,来轻松学习JavaScript,值得收藏( 四 )


函数有return,则返回到return后面的值;函数没有return , 则返回到undefined;小面试:break、continue以及return的区别:1,break:结束当前的循环(比如for循环)2,continue:结束本次循环 , 继续执行下一个循环3,return:不仅可以退出循环 , 还能够返回到值 , 同时还结束当前的函数体
argument的使用
在js当中 , 每一个函数都有一个内置的函数对象 , 所有函数都有一个内置的argument对象 , argument对象中存储了传递的所有实参
function fn(){console.log(arguments);}fn(1,2,3)其中 , fn是以一个伪数组的形式存储 , 即
argument(3)argument具有的属性:1 , 具有数组的length的属性;2 , 按照索引的方式进行存储;3 , 没有真正的数组的方法
作用域变量的作用域根据全局作用域主要分为全局变量以及局部变量(局部变量只能在函数内部进行使用)
全局变量:只有浏览器关闭的时候才会销毁 , 比较占内存资源 。 局部变量:当我们程序执行完毕就会销毁 , 比较节约内存资源
作用域链
当内部函数访问外部函数的变量 , 采取的是链式查找方式 , 决定选取哪一个值 , 采取就近原则
举例:
var num = 10;function fn(){var num = 20;}function fun(){console.log(num);//查找上一层是否有num , 有num即为20}}预解析由于js代码是由浏览器中的js解析器来执行 , js解析器主要分为预解析以及代码执行
预解析:js引擎会把js里面的所有的var还有function提升到当前作用域的最前面代码执行:依次从上往下进行执行 。


推荐阅读