1.逻辑运算:且与非
&& and
|| or
! not
2.全局变量与Var声明
在Javascript语言中,声明变量使用的都是关键字var,如果不使用var而直接声明变量,则该变量为全局变量。
3.改变上下文:call,apply,bind
1.JavaScript特点
“定义时上下文”、“运行时上下文”、“上下文是可以改变的”
2.call和apply作用
为了改变某个函数运行时的上下文而存在的=改变函数内部this的指向
3.call和apply的区别
func.call(this, arg1, arg2); //call 需要把参数按顺序传递进去
func.apply(this, [arg1, arg2]) //apply 则是把参数放在数组里
4.apply、call实例
(1)数组的追加:
var array1 = [12 , "foo" , {name:"Joe"} , -2458];
var array2 = ["Doe" , 555 , 100];
Array.prototype.push.apply(array1, array2);
// array1 值为 [12 , "foo" , {name:"Joe"} , -2458 , "Doe" , 555 , 100]
(2)获取数组中的最大值和最小值
var numbers = [5, 458 , 120 , -215 ];
var maxInNumbers = Math.max.apply(Math, numbers), //458
maxInNumbers = Math.max.call(Math,5, 458 , 120 , -215); //458
//number 本身没有 max 方法,但是 Math 有,借助 call 或者 apply 使用其方法。
(3)验证是否是数组(前提是toString()方法没有被重写过)
functionisArray(obj){
return Object.prototype.toString.call(obj) === &