|  | 
 
| 
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  
按照提示,完成代码,秀秀你的编程能力!
 不许看答案,否则打屁屁
 
 
 
 
 分析:
 
 上一个挑战介绍了向duck对象引入一个method。它使用duck.name的点符号来访问return语句中的name属性的值:
 sayName:function(){return"这个鸭子的名字是"+ duck.name +".";}
 
 虽然这是访问对象属性的有效方法,但这里存在一个缺陷。如果变量名称更改,则引用原始名称的所有代码都需要更新。在一个简短的对象定义中,它不是问题,但是如果一个对象有很多对它的属性的引用,就有很大的几率产生错误。
 
 避免这些问题的方法是使用this关键词:
 
 复制代码 let duck = {
   name:"Aflac",
   numLegs:2,
   sayName:function(){return"这个鸭子的名字是"+ this.name +".";} 
}; 
 this是一个很深的话题,上面的例子只是一种使用它的方式。
 
 在当前的语境中,this是指与方法相关联的对象:duck。
 
 如果对象的名称更改为mallard,则无需在代码中找到所有对duck的引用。它使代码可复用并易于阅读。
 
 
 
 
 
 I Need U:
 
 修改dog.sayLegs方法以删除对dog的所有引用。使用上面的duck示例进行指导。
 
 
 
 答案:
 
 
 
 
 
 回顾:
 
 
 
 
 
 
 
 
 
 
 如果喜欢,请订阅
  : 
 | 
 |