关于call与apply的规则表达式说明
FunName.Call(instance,arg1,arg2,....)
FunName.apply(instance,[arg1,arg2,...])
FunName带便函数名称
具体实例表现形式: alert,window.alert,myFunction,Math.max,Number.isNaN,Array.isArray,String.prototype.encodeHTML
第一个参数表示所属对象,如果第一个参数为为null,通常代表该方法属于类方法或者window全局函数,即类似alert.call(window,'hello')等价于
alert.call(null,'hello')(或者在全局域中,window==this,因此有时可以使用alert.call(this,'hello'))
call要求的参数是可变参数,apply要求的参数是数组