functionA(){this.age=100;}A.prototype={constructor:A,sex:this.age,click:function(){returnthis.age;}};vara=newA();console.log(a.sex);//undefinedconsole.log(a.click());//100為什么a.sex沒有值,而click()卻可以?原理上是怎么回事,最后不都是指向a對象么?A。prototype之后不應(yīng)該等之后不應(yīng)該等同于A.prototype={constructor:A,sex:this.age,click:function(){...}};這樣嗎?寫A.prototype={}的時候,你并沒有去擴展A.prototype,而是用一個新的對象自變量重寫了A.prototype,而這個新的對象字面量創(chuàng)建于window之下,于是里面的this.xxx自然不可能指向你設(shè)想的a?網(wǎng)上看到的解釋,但是不懂什么叫拓展,這樣怎么就成了新的對象自重寫了?
javascript中的this問題,幫幫忙。
慕尼黑8549860
2019-04-19 16:29:34