发表于: 2016-12-27 23:31:43
0 1724
3.while跟for差不多效果,只是while只判定一个条件,当条件成立的时候就一直循环,当我们知道循环多少次的时候,使用for循环,当我们只知道结束条件的时候,我们使用while循环;
2.Ecma6的新属性map,可以把数组里的属性和值一一对应写在一起,这样更具有逻辑性。set是一组key值的集合,里面不能有重复的key,创建的方法跟数组类似([1,2,3,4,5]);
3.Ecma6中新加入了for of方法来遍历对象;
4.回调函数,将计算出来的东西返回给主函数的函数。如果函数内没有return,最后还是会返回结果,不过结果是undefined。匿名函数一般都会赋值给一个变量,或者直接写明他在什么时候调用,不然匿名函数是不合法的咯;
5.如果一个函数,本来只有三个参数,但是你给他传入了多余三个的参数,也是没有问题的,只是后面的参数不会被正确识别。
6.利用arguments来获取函数中传入的参数。如果要获取除了使用过之外的参数,那就使用rest参数吧,function(a,b,...rest);
7.eval()方法用来计算括号里的内容,括号里的东西要是字符串。
8.变量提升,变量在使用它之后声明也会重复引用到使用它的函数中去,意思是说只要你要使用在函数,在正确的作用于内进行生命,那么不管是先使用还是先声明,都没有大的影响。这就是变量提升。但是正确的做法,还是我们需要在开头使用一个var来申明我们所有需要用到的变量。
9.声明的变量是直接绑定到window的对象中,所以 变量 window.变量 是同一个值
10.this指向的是当前对象,如果是在函数内部使用,那他指向会是正确的我们想要他指向的对象,但是如果把函数拿到外面来使用,那么,这个this就会指向全局对象window,解决办法是在函数开始的时候定义一个变量var that=this,这样我们在使用this的时候,直接使用that就行了。apply和call两个函数都能使this正确指向,对于普通函数的调用,我们一般把其设置为null。
11.高阶函数就是为了函数能够接收别的参数!map()将参数传入函数中,并进行运算输出数组,注意map是arry的一个方法。reduce至少取两个参数出来,将他们带进方法里面,然后又将计算出来值和另外一个带入函数里面继续计算!
评论