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


举例:把元素里面的所有数都进行遍历了一遍
var arr = ['red','green','blue'];for (var i = 0;i < arr.length ; i++){console.log(arr[i]);}小面试:如何在数组中增加元素?通过1 , 通过修改length的长度;原因:1 , 通过length长度实现数组扩容的目的;2 , length属性有可读写通过2 , 索引号增加数组元素;
建议(关于学习数组需要练习的习题的经典例题):1 , 利用数组求最大值2 , 筛选数组3 , 翻转数组4 , 冒泡数组
函数函数就是封装一段可以被重复的代码块
1 , 声明函数
function 函数名( 形参1 , 形参2){//函数体}函数名(实参1 , 实参2)注:1 , function声明函数的关键字 , 全部小写2 , 函数是做某件事情 , 函数名一般是动词3 , 函数不调用自己不执行
调用函数
函数名();//调用函数的时候一定要加小括号举例:
function cook(aru){console.log(aru);}cook('Hello word')//实参的值hello word传到形参 , 之后在进行执行下去函数的返回值return
function 函数名(){return 需要返回的结果;}函数名();只要函数遇到return就把后面的结果返回到函数的调用者 , 在实际开发过程中 , 经常用一个变量来接受函数的返回结果 。
函数有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解析器主要分为预解析以及代码执行
【看我怎么用思维导图,来轻松学习JavaScript,值得收藏】预解析:js引擎会把js里面的所有的var还有function提升到当前作用域的最前面代码执行:依次从上往下进行执行 。