javascript中的call()和apply()方法 - 原创实例
2013-04-01 12:46
609 查看
1、方法定义
2、常用实例
3、apply与protype结合使用
附件下载
call方法: 语法:call([thisObj,arg1, arg2,arg……n]) ,参数arg只能为列表的形式,如:a,b,c 定义:调用一个对象的一个方法,以另一个对象替换当前对象。 说明: call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。 如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj。 apply方法: 语法:apply([thisObj,[argArray,arguments]]) ,参数age只能为数组或arguments的形式,如:[a,b,c]或arguments 定义:应用某一对象的一个方法,用另一个对象替换当前对象。 说明: 如果 argArray 不是一个有效的数组或者不是 arguments 对象,那么将导致一个 TypeError。 如果没有提供 argArray 和 thisObj 任何一个参数,那么 Global 对象将被用作 thisObj, 并且无法被传递任何参数。
2、常用实例
function User(name,age){//定义一个User方法 this.name = function () { alert(name) }; ; this.age = function () { alert(age) }; } function CallUser(name, age) {//为CallUser方法,添加成员 User.call(this, name, age); //如果用apply则为:User.apply(this, [name, age]); //User.call指来添加到this的对象,this指当前对象,当然这里的this也可以换成其它对象。后面的name,age分别指User函数的实参。 //这里的call相当于CallUser.protype=new User(); } var us = new CallUser("Sn", 20); //实参"Sn",20传给CallUser函数。CallUser的name,age再传给User函数 us.name();//Sn us.age();//20
3、apply与protype结合使用
var Class = { //创建Class对象(字面量) app: function () { //创建一个名为app类(Function) return function() { this.init.apply(this, arguments); //当前this为function,继承于init属性,参数为arguments } } } var pro = Class.app(); // 创建一个名为pro类,些类被Class.app()赋值,(Function) pro.prototype = { init: function (arget) { // 定义pro类下的一个成员init,此成员用于实现Class类的init this.arget = arget; }, fn:function(){ alert(this.arget); } } var obj = new pro("apply与protype结合使用"); obj.fn(); //结果:apply与protype结合使用
附件下载
相关文章推荐
- 实例分析javascript中的call()和apply()方法
- JavaScript中call和apply方法的区别实例分析
- 实例讲解JavaScript中call、apply、bind方法的异同
- 实例分析javascript中的call()和apply()方法
- javascript 对象基础 继承机制实例 call() apply 方法!
- JavaScript之apply,call以及bind方法
- javascript 之Function对象的apply(),call(),bind(),方法和arguments,caller,length属性
- 深入理解关于javascript中apply()和call()方法的区别
- JavaScript中的call()和apply()方法
- javascript中的call和apply两个方法的区别
- JavaScript中的apply()方法和call()方法使用介绍
- 关于javascript中apply()和call()方法的区别
- 关于javascript中apply()和call()方法的区别
- JavaScript中call,apply,bind方法的总结。
- JavaScript 中的 call() 和 apply() 方法深入理解
- JavaScript使用Call和Apply方法实现继承
- 关于javascript中apply()和call()方法的区别
- JavaScript中的apply()方法和call()方法使用介绍
- javascript的apply和call方法的使用详解