我沿着以下的線功能:能「這」永遠是空的Javascript
doSomething: function() {
var parent = null;
if (this === null) {
parent = 'some default value';
} else {
parent = this.SomeValue();
}
}
難道父母曾經被設置爲「一些默認值」或者是空多餘的檢查?
或者,如果我使用的限制較少:
doSomething: function() {
var parent = this ? this.SomeValue() : 'some default value';
}
可能永遠母公司在這種情況下被設置爲「一些默認值」?
應當指出的是,試圖調用「someValue中()」在對象上的功能沒有這樣的屬性可能會引起一個小* *擔心。 – Pointy 2012-03-16 15:21:30
好吧,從技術上說,它並不總是經歷過「對象(this)」,因爲如果它是一個對象,它不會,更重要的是,如果它最初是'null'或'undefined',那麼它也不會,它只是直接設置爲全局對象。 – davin 2012-03-16 15:22:59
@davin:其實對於一個對象來說,它是否並不重要(Object(obj)=== obj'),但至於你的第二點,你完全正確。 – pimvdb 2012-03-16 15:24:35