function 之 arguments 、call 、apply】的更多相关文章

在JavaScript中函数的调用可以有多种方式,但更经典的莫过于call和apply.call跟apply都绑定在函数上,他们两个的第一个参数意义相同,传入一个对象,他作为函数的执行环境(实质上是为了改变函数的Execution Context执行上下文),也就是this的指向:而第二个参数两者只是类型的不同,call传的是arguments,而apply传的是array.废话不多说,先上一个最基础的例子: function add(c,d){ return this.a + this.b +…
箭头函数不能用做构造函数 箭头函数没有arguments参数 箭头函数没有自己的this,是从作用域链上取this,是与箭头函数定义的位置有关的,与执行时谁调用无关,所以用call,apply,bind去调用箭头函数时,第一个参数会被忽略.非箭头函数是在函数调用时,在当前执行上下文里动态的取this. Function.prototype的bind, apply,call方法: apply,call和bind都为改变this的指向,利用这一点可以用它们来实现继承 function objFun(…
好用的技术教程:http://www.w3school.com.cn/index.html 1:正则表达式 正则表达式通常用于验证表单 定义语法为 / / 2:Date对象 var now = new Date();以及很多的tostring方法 3:function对象 arguments对象,用于实现JavaScript的重载 在JavaScript中,如果方法名相同,只能执行最后定义的方法,因为在JavaScript中,方法可以用 var myMethod = function(n); v…
1.arguments arguments.length为函数实参个数,arguments.callee引用函数自身. arguments他的特性和使用方法 特性: arguments对象和Function是分不开的.因为arguments这个对象不能显式创建,arguments对象只有函数开始时才可用. 使用方法: 虽然arguments对象并不是一个数组,但是访问单个参数的方式与访问数组元素的方式相同 例如: arguments[0],arguments[1],........argumen…
Arguments 函数的参数构成的数组 描述 只定义在函数体内,函数体内arugments指代Arguments对象,该对象是类数组对象,有数组属性可以当做数组使用,含有传入该函数的所有参数,arugments本质上是一个局部变量,在函数体内会自动声明并初始化改变量,仅在函数体内才指代Arguments对象,在全局代码中为undefined Arguments 函数的为参数和其他属性 语法 arguments arguments[n] 属性 callee 指代当前正在执行的函数.argumen…
Function.caller指向当前函数的调用者,是arguments.caller的替代者 arguments.caller也是指向当前函数的调用者,已被废弃 arguments.callee是对当前函数的引用,只能在函数内部使用,ES5严格模式已被废弃 arguments.callee.caller就是Function.caller…
1.javascript 选项散列对象 function Test(p1,p2,p3,p4,p5){ //do something } call: 参数可选 Test({ p1:value1, p2:value2, p5:value5 }); 2. self-definition function Test(options){ var settings = $.extend({ p1:value1, p2:value2, p3:value3, p4:value4, p5:value5 },opt…
看这个apply真正应用.bind这是一个绑定时间的函数 var bind=function(object,type,fn){ if(object.attachEvent){//IE浏览器 object.attachEvent("on"+type,(function(){ return function(event){ window.event.cancelBubble=true;//停止时间冒泡 object.attachEvent=[fn.apply(object)];//----…
---恢复内容开始--- 1.js 里函数调用有 4 种模式:方法调用.正常函数调用.构造器函数调用.apply/call 调用.同时,无论哪种函数调用除了你声明时定义的形参外,还会自动添加 2 个形参,分别是 this 和arguments .2.apply:apply 函数接收 2 个参数,第一个是传递给这个函数用来绑定 this 的值,第二个是一个参数数组. call和apply的存在是为了改变this的绑定.注意:区别就是call后面接受的是不定参数,而不是数组.看代码: functio…
arguments 该对象代表正在执行的函数和调用它的函数的参数. [function.]arguments[n] 参数function :选项.当前正在执行的 Function 对象的名字. n :选项.要传递给 Function 对象的从0开始的参数值索引. 说明 Arguments 是进行函数调用 时,除了指定的参数外,还另外创建的一个隐藏对象.Arguments是一个类似数组但不是数组的对象,说它类似数组是因为其具有数组一样的访问性质及方 式,可以由arguments[n]来访问对应的单…