call 方法 (Function) (JavaScript)

call 方法 (Function) (JavaScript)

调用一个对象的方法,用另一个对象替换当前对象。

语法

call([thisObj[, arg1[, arg2[,  [, argN]]]]])
参数


thisObj
可选。将作为当前对象使用的对象。
arg1, arg2, , argN
可选。将被传递到该方法的参数列表 备注 call 方法用于调用代表另一项目的方法。它允许您将函数的 this 对象从初始上下文变为由 thisObj 指定的新对象。 如果没有提供 thisObj 参数,则 global 对象被用作 thisObj
下面的代码演示 call 方法 

function add(a,b)

{

console.info(this);

console.info(a+b);

}

function sub(a,b)

{

console.info(a-b);

}

调用

add.call(sub,3,1);

结果输出

调用

add.call(‘"hh"‘,3,1);

add.call(3,1);

第二段程序

function Animal(){

this.name = "Animal";

this.showName = function(){

console.info(this);

console.info(this.name);

}

}

function Cat(){

this.name = "Cat";

}

var animal = new Animal();

var cat = new Cat();

animal.showName.call(cat,",");

animal.showName.call(cat);

animal.showName.call();

第三段程序

function Animal(name){

this.name = name;

this.showName = function(){

console.info(‘call‘,this)  ;

console.info(this.name);

}

}

function Cat(name){

console.info("init",this);

Animal.call(this, name);

}

var cat = new Cat("Black Cat");

cat.showName();

console.info(cat.showName);

时间: 2024-08-11 05:45:35

call 方法 (Function) (JavaScript)的相关文章

apply 方法 (Function) (JavaScript)

转载:http://msdn.microsoft.com/zh-cn/library/4zc42wh1(v=vs.94).aspx 写在前面:与call方法类似 调用函数,并用指定对象替换函数的 this 值,同时用指定数组替换函数的参数. apply([thisObj[,argArray]]) 参数 thisObj 可选. 要用作 this 对象的对象. argArray 可选. 要传递到函数的一组参数. 备注 如果 argArray 不是有效对象,则会出现“应为对象”错误. 如果既未提供 a

reduce 方法 (Array) (JavaScript)

对数组中的所有元素调用指定的回调函数.该回调函数的返回值为累积结果,并且此返回值在下一次调用该回调函数时作为参数提供. 语法 array1.reduce(callbackfn[, initialValue]) 参数 参数 定义 array1 必需.一个数组对象. callbackfn 必需.一个接受最多四个参数的函数.对于数组中的每个元素,reduce 方法都会调用 callbackfn 函数一次. initialValue 可选.如果指定 initialValue,则它将用作初始值来启动累积.

toJSON 方法 (Date) (JavaScript)

toJSON 方法 (Date) (JavaScript)   语法:objectname.toJSON()  objectname  必需. 需要进行 JSON 序列化的对象.  toJSON 方法是 Date JavaScript 对象的内置成员. 它返回 UTC 时区的 ISO 格式日期字符串(由后缀 Z 表示). 以下示例使用 toJSON 方法将大写的字符串成员值序列化. 在调用 JSON.stringify 时调用 toJSON 方法. var contact = new Objec

Atitit.实现继承的原理and方法java javascript .net c# php ...

Atitit.实现继承的原理and方法java javascript .net c# php ... 1. 实现继承的问题 1 2. 如何拷贝基类方法?采用prototype原型方式,通过冒充对象 1 3. 2.属性如何继承? 2 4. 几种继承方式的比较    2 5. 常用的apply ,call方法 3 6. 参考 3 1. 实现继承的问题 JavaScript中要实现继承,其实就是实现三层含义: 1.子类的实例可以共享父类的方法: 2.子类可以覆盖父类的方法或者扩展新的方法: 3.子类和

insertBefore方法(javascript与jQuery)

说到insertBefore()方法,其实javascript与jQuery中都有此方法,那么他们用法是否相同呢? 其实,还是有点区别的.反正我是爱搞混淆了,先做个小笔记吧! 1.insertBefore()方法(javascript) 语法: node.insertBefore(newnode,existingnode)    //  这两个参数都是必须的 insertBefore() 方法可在已有的子节点前插入一个新的子节点. newnode是一个节点对象,这是你想要插入的那个节点:exis

查询某个表所涉及的 存储过程Procedure, 视图view , 方法Function

/*查询某个表所涉及的Procedure,Package,Function*/select name,type,referenced_owner,referenced_name,referenced_typefrom user_dependencieswhere referenced_name='Mytable'   -- Mytable 表名 and type='procedure';   -- 储过程Procedure, 视图view , 方法Function 原文地址:https://ww

【Javascript】—— 1 方法function的高级特性

本篇仅仅对于function作简单的讲解,在javascript中function不仅仅是方法,它其实是一个变量,因此拥有自己的属性,并且可以当做参数传递给其他的方法. 那么传统的方法,按照java的写法应该如下的创建: <!-- 普通的function --> function testFunc1(name,age){ console.log("name"+name+" age"+age); } testFunc1("xingoo"

Function javascript

通常而言,一个函数是一个子程序,他们可以被外部代码调用(亦或被滴管函数在内部调用).和程序一样,函数是由一系列声明(被称为函数体function body)组合而成.值可以传递给函数,并且函数可以返回一个值. 在javascript中,函数是一个对象,因为她可以拥有属性和方法,就像对象一样.将函数和对象区分的是函数可以被调用,他们是函数对象(Function objects). 描述 js中的所有函数都是函数对象Function object 函数和程序不一样,函数总是返回一个值,但是程序不一定

ES6新特性:使用新方法定义javascript的Class

ES6中定义类的方式, 就是ES3和ES5中定义类的语法糖,虽然也有些区别,但是整体定义类的方式更加简洁,类的继承更加方便, 如果想对ES6中的继承更加熟悉, 最好了解ES5中原型继承的方式, 博客园中说JS继承的文章很多, 想要深入了解的同学自己去搜: 定义一个class: 每一个使用class方式定义的类默认都有一个constructor函数, 这个函数是构造函数的主函数, 该函数体内部的this指向生成的实例, say() {}为原型上的方法, 我们定义一个简单的类 : "use stri