javascript - 关于js this指向的问题。
迷茫
迷茫 2017-04-11 09:53:36
[JavaScript讨论组]
var A = function(name){
    this.name = name;
}
var B = function(){
    A.apply(this, arguments);
    //apply传入对象时我知道this指向这个对象,请问apply(this)是什么意思呢?           
}
B.prototype.getName = function(){
    return this.name;
}
 
var b = new B("2B铅笔");
console.log( b.getName() ); // 输出: 2B铅笔
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(2)
高洛峰

A.apply(this, arguments);就是调用A函数,调用的时候以this为A构造器里的this,以调用B函数的参数为调用A函数的参数,就相当于A.call(this,'2B铅笔'),所以生成的b对象有个name属性是2B铅笔。

ringa_lee

需要绑定context(上下文)。apply、call一般用来修改context的,即this的指向。A.apply(this,arguments),其实将函数A中的this绑定在B上,即此时this是指向B的。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号