1.变量提升可能带来的效果
function foo() {
var x = 'Hello, ' + y;
console.log(x);
var y = 'Bob';
}
提升之后
function foo() {
var y; // 提升变量y的申明,此时y为undefined
var x = 'Hello, ' + y;
console.log(x);
y = 'Bob';
}
2.JavaScript默认有一个全局对象window
,全局作用域的变量实际上被绑定到window
的一个属性,访问方式如下
alert(window.course); // 'Learn JavaScript'
3.for语句中for(var i=0;;)中 i并不是属于for而是在函数里面,解决办法可以使用let定义i
4.apply()
把参数打包成Array
再传入;call()
把参数按顺序传入。
5.map函数会把数组的每个值都去调用一次pow函数,reduce()会把函数返回值产于下次的计算
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var results = arr.map(pow); // [1, 4, 9, 16, 25, 36, 49, 64, 81]
console.log(results);
6.filter()也是接受一个function,根据function返回ture or false 来决定是否抛弃数组元素