`
xixian
  • 浏览: 215365 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

js call和apply方法

    博客分类:
  • js
阅读更多

call()方法
call(obj,arg1,arg2...);
call()方法第一个参数是用作this的对象,其他参数直接传递给对象函数本身

例如:


function Cat(cColor){
   this.color=cColor;
   this.showColor=function(){
      alert(this.color); 
   }
}

function TomCat(cColor){
    Cat.call(this,cColor);
}
 var tom=new TomCat("black");
  tom.showColor();


applay()方法
applay(obj,Array)第一个参数也是用作this的对象,第二个参数为数组对象
例如

function Cat(cColor){
   this.color=cColor;
   this.showColor=function(){
      alert(this.color); 
   }
}

function TomCat(cColor){
    Cat.apply(this,new Array(cColor));
}
 var tom=new TomCat("black");
  tom.showColor();


也可把tomCat对象的arguments对象作为第二参数传递,如下
function Cat(cColor){
   this.color=cColor;
   this.showColor=function(){
      alert(this.color); 
   }
}

function TomCat(cColor){
    Cat.apply(this,arguments);
}
 var tom=new TomCat("black");
  tom.showColor();

分享到:
评论
2 楼 xixian 2011-10-18  
chunchong 写道
貌似有点不大对
方法第一个参数是用作this的对象?????


个人理解就是子类的对象

可参考w3school资料
http://www.w3school.com.cn/js/pro_js_inheritance_implementing.asp
1 楼 chunchong 2011-10-18  
貌似有点不大对
方法第一个参数是用作this的对象?????

相关推荐

    JavaScript中call与apply方法

    JavaScript中call与apply方法

    javascript call和apply方法

    在JavaScript中,`call`和`apply`是两种非常重要的函数调用方式,它们都用于改变函数执行时的上下文,即`this`的指向。`this`在JavaScript中是一个非常关键的概念,它通常指代函数执行时所在的对象。下面我们将深入...

    关于Javascript中call与apply的进一步探讨

    它为开发者提供了丰富的工具和方法来操控函数和对象。在JavaScript中,`call`和`apply`是两个非常重要的方法,它们都用于改变函数调用时的上下文(即`this`的值),并且可以灵活地传递参数。本篇文章将深入探讨这两...

    淡淡简单描述javascript中方法apply和call

    淡淡简单描述javascript中方法apply和call

    JS中的call、apply、bind方法详解.pdf

    JS中的call、apply、bind方法详解 随着JavaScript的发展,函数调用对象的改变变得越来越重要。在JavaScript中,call、apply、bind三个方法都是函数对象的方法,它们的作用都是改变函数的调用对象。下面,我们将详细...

    javascript中apply和call方法的作用及区别说明

    1、call,apply都属于Function.prototype的一个方法,它是JavaScript引擎内在实现的,因为属于Function.prototype,所以每个Function对象实例(就是每个方法)都有call,apply属性。既然作为方法的属性,那它们的使用...

    JavaScript中call和apply方法的区别实例分析

    本文实例分析了JavaScript中call和apply方法的区别。分享给大家供大家参考,具体如下: 这两个方法不经常用,但是在某些特殊场合中是非常有用的,下面主要说下它们的区别: 1、首先,JavaScript是一门面向对象的语言...

    javascript中call和apply方法浅谈

    在JavaScript中,`call`和`apply`是两种非常重要的函数调用方式,它们都用于改变函数内部`this`的指向,实现函数的...在实际开发中,理解和熟练掌握`call`和`apply`方法对于编写高效、灵活的JavaScript代码至关重要。

    call与apply区别 详细解读.pdf

    在面向对象编程中,继承是一种非常重要的机制,它允许子类继承父类的属性和方法,从而提高代码重用率。 例如: function Animal(name) { this.name = name; } Animal.prototype.eat = function() { console.log...

    理解JavaScript的caller callee call apply

    ### 理解JavaScript中的`caller`...综上所述,理解`caller`、`callee`、`call`、`apply`以及`arguments`对象在JavaScript编程中至关重要,它们不仅增强了函数的灵活性和复用性,还提供了深入分析和调试代码的强大工具。

    Javascript中call,apply,bind方法的详解与总结

    本文针对JavaScript中三个重要的函数方法——call、apply和bind,进行详尽的分析,并在文章的结尾部分对这三个方法之间的联系和区别进行了概括,以便于读者更深入地理解它们的用途和应用场景。 首先,我们来探讨...

    JavaScript 学习笔记(九)call和apply方法

    4. 多重继承:在JavaScript中,一个对象可以继承多个父对象的属性和方法,通过在父对象的构造函数中分别使用call或apply,可以实现多重继承。 例如,在创建子类时,如果父类构造函数需要接收参数,那么可以使用...

    js中call与apply的用法小结

    `call` 和 `apply` 在JavaScript中扮演着至关重要的角色,它们提供了改变`this`上下文的能力,使得我们可以灵活地调用函数,尤其是在处理继承和对象方法时。理解并熟练掌握这两种方法的用法,对于提升JavaScript编程...

    javascript callApply代码示例

    javascript callApply代码示例

    浅谈javascript中的call、apply、bind_.docx

    JavaScript 中的 call、apply、bind 方法详解 JavaScript 中的 call、apply、bind 方法是 Function 对象自带的三个方法,这三个方法的主要作用是转变函数中的 this 指向,从而可以达到“接花移木”的效果。下面将对...

    Js的call与apply1

    JavaScript中的`call`和`apply`是两种非常关键的方法,它们允许我们改变函数内部`this`的指向,同时也为实现模拟继承提供了可能。虽然JavaScript不直接支持类继承,但通过`call`和`apply`,我们可以实现类似的效果。...

    JS中的call()和apply()方法的详解

    在 javascript 中,call 和 apply 都是为了改变某个函数运行时的上下文(context)而存在的,一般来说,this总是指向调用某个方法的对象,但是使用call()和apply()方法时,就会改变this的指向 语法: apply() 接收两...

    Javascript - 全面理解 caller,callee,call,apply (转载)

    这篇文章将深入探讨四个关键概念:caller、callee、call和apply,它们都是JavaScript函数操作的核心部分,对于理解和使用高级JavaScript编程至关重要。 首先,我们来了解`caller`和`callee`。在JavaScript的函数...

    详解js中call与apply关键字的作用

    在构造函数中使用apply来继承另一个对象的属性和方法。 ```javascript var A = function(name) { this.name = name; }; var B = function() { A.apply(this, arguments); }; B.prototype.getName = ...

Global site tag (gtag.js) - Google Analytics