js apply与call的用法与区别】的更多相关文章

apply和call function Person(c, d) { return this.a + this.b + c + d } var  o = {a: 1, b: 2} Person.call(o, 3, 4) 或者 Person.apoly(o, [3, 4]),  o是你想作为Person函数里面this的对象 ,结果都是10…
call 和 apply 都是为了改变某个函数运行时的 context 即上下文而存在的,换句话说,就是为了改变函数体内部 this 的指向.call 和 apply二者的作用完全一样,只是接受参数的方式不太一样. 方法定义applyFunction.apply(obj,args)方法能接收两个参数: obj:这个对象将代替Function类里this对象 args:这个是数组或类数组,apply方法把这个集合中的元素作为参数传递给被调用的函数. call call方法与apply方法的第一个参…
作用都是一样的,官方解释:"调用一个对象的一个方法,以另一个对象替换当前对象", 简单来说就是改变当前使用该方法的对象中的this指向: var xw = { name : "小王", gender : "男", age : 24, say : function() { alert(this.name + " , " + this.gender + " ,今年" + this.age); } } var x…
1.call/apply/bind方法的来源 首先,在使用call,apply,bind方法时,我们有必要知道这三个方法究竟是来自哪里?为什么可以使用的到这三个方法? call,apply,bind这三个方法其实都是继承自Function.prototype中的,属于实例方法. 1 console.log(Function.prototype.hasOwnProperty('call')) //true 2 console.log(Function.prototype.hasOwnPropert…
1.JavaScript中函数是对象的方法,如果一个函数不是js对象的方法那一定是全局对象的函数,每个函数的对象都有apply和call方法,即每个对象都有call and apply apply:调用一个对象的一个方法,用另一个对象替换当前对象.例如:object1.function.apply(object2, arguments);即object2对象应用object1对象的function方法. call:调用一个对象的一个方法,用另一个对象替换当前对象.例如:object1.funct…
forEach 和map 都是用来遍历数组,二者的区别为: forEach() 会修改原来的数组,而map() 方法会得到一个新的数组并返回,不会修改原来的数组 二者的执行速度方面,经过jsPerf(一个很好的表不同函数的执行速度的网站:https://jsperf.com/),map()方法比forEach()方法快了70%,当然不同的浏览器的执行结果也可能会不一样 总结: 1.能用forEach()做到的,map()同样也可以,反过来也是如此 2.map()会分配内存空间存储新数组并返回,f…
String.substring( ):用于返回一个字符串的子串 用法如下:string.substring(from, to) 其中from指代要抽去的子串第一个字符在原字符串中的位置 to指代所要抽去的子字符串最后一个字符的后一位(这个参数可以不加) 下面就对String.substring( )做举例: 1.string.substring(from):此时相当于从from位置截取到原字符串末尾 var s = "hello"; s.substring(1);//就是从下标为1的…
本文摘自多位前辈的博文,另外还有一些我的多余补充,摘自地址已补充.非常感谢各位前辈.仅以笔记学习为目的! 深入学习ES6的知识还请访问阮一峰老师的ES6教程 如果不使用let或者const,在JS只有函数作用域和全局作用域,没有块级作用域,所以{}限定不了var声明变量的访问范围. 1. var声明语句 摘自:https://blog.csdn.net/weixin_44939019/article/details/99843495 var声明语句声明一个变量,并且可选的将它初始化为一个值. 声…
在函数内部,arguments.callee该属性是一个指针,指向拥有这个arguments对象的函数; 而函数对象的另一个属性:caller,这个属性保存着调用当前函数的函数的引用,如果是在全局作用域中调用当前函数,它的值为null. <script type="text/javascript"> function inner(){ alert(arguments.callee); //指向拥有这个arguments对象的函数,即inner() alert(argumen…
________________________________________________________________________________________________________ 转载自:http://www.phpweblog.net/kiyone/archive/2007/05/17/1206.aspx js中innerHTML与innerText的用法与区别 用法: <div id="test">   <span style=&qu…