請教一下各位大神. 今天寫JS時候遇到這樣一個問題, 就是下面這段js代碼不要②這一行的時候,是可以正常運行的,浏覽器沒有報錯.
但是加了這一行,就報錯. 只有把①②改成this.name和this.age才可以. 能給我講講為什麼嘛
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