前端新手求助面向对象问题?
哈哈哈
哈哈哈 2017-02-18 11:49:52
0
2
868

现在有一个对象如下:

var doc= $(document); function people(){ //一个people对象 this.name = li; } people.prototype = { //对象方法 sayName: function(){ console.log(this.name); } bindEvent: function(){ //绑定页面元素 doc.delegate('button','click',function(){ people.sayName(); //这里报错Uncaught TypeError: people.sayName is not a function //这里想调用sayName方法,但是会报错 }); } }


哈哈哈
哈哈哈

全部回复 (2)
数据分析师

前端新手求助面向对象问题?-PHP中文网问答-前端新手求助面向对象问题?-PHP中文网问答

围观一下哦,学习一下。

    刘奇

    这个涉及到闭包和原型链

    //方法1 bindEvent: function() { //绑定页面元素 doc.delegate('button', 'click', this.sayName.bind(this));//此处通过bind方法强制绑定this对象 } //方法2 bindEvent: function() { //绑定页面元素 var _this = this; doc.delegate('button', 'click', function() { _this.sayName(); });//此处通过变量存储this } //方法3 bindEvent: function() { //绑定页面元素 doc.delegate('button', 'click', () => this.sayName());//通过箭头函数,箭头函数的this指向上层函数 }


      最新下载
      更多>
      网站特效
      网站源码
      网站素材
      前端模板
      关于我们 免责声明 Sitemap
      PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!