请教一下各位大神. 今天写JS时候遇到这样一个问题, 就是下面这段js代码不要②这一行的时候,是可以正常运行的,浏览器没有报错.
但是加了这一行,就报错. 只有把①②改成this.name和this.age才可以. 能给我讲讲为什么嘛
javascript面向对象的问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
danielinbiti 2015-07-21 09:11关注var p = { name:'stephen', age:23, info:function(){ document.write('我的名字是:' + name①); document.write('我的年龄:' + age②); } } p.info(); 不管1,2实际都不是你预期的,没加2能运行,是因为name刚好是window的全局变量,所以没报错,但实际不是你想要的。 这里应该改成 var p = { name:'stephen', age:23, info:function(){ document.write('我的名字是:' + p.name); document.write('我的年龄:' + p.age); } } p.info(); 因为你的name和age是p这个对象内的属性。所以要加上p本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报