javascript中call和apply的区别

我理解javascript中call和apply的区别仅在于语法不同。

下例中分别调用call和apply对myObj进行修改,语法不同,但使用效果是一样的:

var myObj = {
    "a":1,
    "b":2,
    "c":3
}
var myFunc = function(a,b,c){
    this.a=a;
    this.b=b;
    this.c=c;
}
myFunc.call(myObj,4,5,6);//参数个数无限制
iJs.showObject("myObj");
myFunc.apply(myObj,[7,8,9]);//第二个参数是数组
iJs.showObject("myObj");

调试信息:

[Object] myObj        |--[number] a ------------- 4        |--[number] b ------------- 5        |--[number] c ------------- 6

[Object] myObj        |--[number] a ------------- 7        |--[number] b ------------- 8        |--[number] c ------------- 9

本文出自 “iData” 博客,请务必保留此出处http://idata.blog.51cto.com/4581576/1107836

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索javascript
, this
, number
, 语法
, apply
, call
, apply区别
, javascript中apply
, call和apply的区别
, apply与call的区别
call和apply区别
call和apply区别、call和apply的区别、call apply 区别、js call apply 区别、call与apply的区别,以便于您获取更多的相关知识。

时间: 2024-07-29 02:07:34

javascript中call和apply的区别的相关文章

浅谈javascript中call()、apply()、bind()的用法

  浅谈javascript中call().apply().bind()的用法         一直对Javascript中的apply/call/bind的用法很模糊,恰好看到了这篇文章.对三者之间的区别与联系算是有了比较清晰的认识.这里记录下来,分享给大家. call(thisObj,arg1,arg2...).apply(thisObj,[obj1,obj2...])这二个方法是每个函数都包含的非继承的方法 call(thisobj[, args])和apply(thisobj[, arg

有关JavaScript中call()和apply() 的一些理解_基础知识

call()方法和apply()方法,在上层应用中用的不是很多,但在底层写JS框架的时候却常常看到.然后度娘谷哥一番,也发现好多达人写出了自己的理解和笔记,但始终还是云里雾里,于是去W3C学习了下 在W3C网上研究这两个方法的时候,看到一个词语,叫"对象冒充",这个概念本人觉得还是挺重要的,让我对这两个方法理解起来更加直观. call()方法,看下官方给出的例子 function sayColor(sPrefix,sSuffix) { alert(sPrefix + this.colo

JavaScript中Null与Undefined的区别解析

  这篇文章主要介绍了JavaScript中Null与Undefined的区别解析,本文给出了多个代码实例讲解它们之间的区别,需要的朋友可以参考下 在JavaScript中存在这样两种原始类型:Null与Undefined.这两种类型常常会使JavaScript的开发人员产生疑惑,在什么时候是Null,什么时候又是Undefined? Undefined类型只有一个值,即undefined.当声明的变量还未被初始化时,变量的默认值为undefined. Null类型也只有一个值,即null.nu

javascript中callee与caller的区别分析

  javascript中callee与caller的区别分析 有些小伙伴可能会问caller,callee 是什么?在javascript 中有什么样的作用?那么本篇会对于此做一些基本介绍.希望能够对大家理解javascript中的callee与caller有所帮助. callee callee是对象的一个属性,该属性是一个指针,指向参数arguments对象的函数 首先我们来写个阶成函数: ? 1 2 3 4 5 6 7 function chen(x){ if (x<=1) { retur

JavaScript中property和attribute的区别详细介绍

 这篇文章主要介绍了JavaScript中property和attribute的区别详细介绍,本文总结了定义.相同这处.不同之处.浏览器兼容性上的差别等内容,并建议优先选择property,需要的朋友可以参考下     1. 定义 Property:属性,所有的HTML元素都由HTMLElement类型表示,HTMLElement类型直接继承自Element并添加了一些属性,添加的这些属性分别对应于每个HTML元素都有下面的这5个标准特性: id,title,lang,dir,className

javascript中interval与setTimeOut的区别示例介绍

 这篇文章主要介绍了javascript中interval与setTimeOut的区别,需要的朋友可以参考下 setTimeout(code,millisec) //- 在指定时间后执行代码    code必须:    millisec必须:    clearTimeout(setTimeoutId) //- 取消 setTimeout()    setInterval(code,millisec)://指定间隔毫秒内循环执行代码    code必须:    millisec必须:    cle

javascript中局部变量和全局变量的区别详解_javascript技巧

javascript有两种变量:局部变量和全局变量.当然,我们这篇文章是帮助大家真正的区别这两种变量. 首先,局部变量是指只能在本变量声明的函数内部调用.全局变量时整个代码中都可以调用的变量.当然,单单从字面上理解肯定是不清楚的,下面我详细的介绍下: 大家都知道,变量是需要用var关键字声明的.但是javascript中也可以隐式的使用变量,就是不用声明,直接使用.而且,千万注意,javascript把隐式声明的变量总是当成全局变量来使用的. 例如: 复制代码 代码如下: function my

在JavaScript中call()与apply()区别_javascript技巧

如果没接触过动态语言,以编译型语言的思维方式去理解javaScript将会有种神奇而怪异的感觉,因为意识上往往不可能的事偏偏就发生了,甚至觉得不可理喻.如果在学JavaScript这自由而变幻无穷的语言过程中遇到这种感觉,那么就从现在形始,请放下的您的"偏见",因为这对您来说绝对是一片新大陆,让JavaScrip 好,言归正传,先理解JavaScrtipt动态变换运行时上下文特性,这种特性主要就体现在apply, call两个方法的运用上. 一.方法的定义 call方法: 语法:cal

浅谈javascript中call()、apply()、bind()的用法_javascript技巧

call(thisObj,arg1,arg2...).apply(thisObj,[obj1,obj2...])这二个方法是每个函数都包含的非继承的方法 call(thisobj[, args])和apply(thisobj[, args]) 作用都是一样的,简单来说就是改变当前使用该方法的对象中的this指向,指向调用方法中的thisObj对象二者的区别(第一个参数是相同的)就是call方法中传入的参数是是一个个列举出来的,而apply方法中的参数二是一个数组 还是举例说明比较直观: wind