好复杂,不懂,不懂。。。。^_^!!!
2 回答
这里涉及 function 中 this 的相关知识,在函数被“调用”的时候,this 指的是调用对象,而这里的调用对象是 “this.el”,也就是页面的侧边栏对象,由于没有定义 triggerSwitch 方法,所以报错。 Siderbar 构造函数中的 this,如果是在以“构造函数”方式使用(也就是 new Sidebar())时,指的是将要被创建的对象实例,所以 this.el 指的是 sidebar 对象的属性。但是,如果是以“Sidebar()”方式使用上面定义的构造函数,由于没有明确的调用该函数的对象,在浏览器环境下会将 window 对象作为 this,这也就是前面说的构造函数命名上首字母大写,以便提醒使用者采用“new Sidebar()”的方式。 详细内容建议参考《JavaScript 高级程序设计》或《JavaScript 权威指南》的相关章节。
举报
0/150
提交
取消