4
我想用原型函數來擴展布爾對象,該函數將其反轉爲當前值。到目前爲止,我一直在做這樣的事情:使用'反轉'功能在JavaScript中擴展布爾對象
var bool = true;
bool = !bool;
console.log(bool); // false
我試圖擴展布爾對象並不富有成效。這是我得到了多少:
Boolean.prototype.invert = function() {
return !this.valueOf();
}
var bool = true;
bool = bool.invert();
console.log(bool); // false
關閉,但不夠接近。我找了沿着這些路線的解決方案:
var bool = true;
bool.invert();
console.log(bool); // false
是的,我知道,擴展內置的對象通常被認爲是一個壞主意。請讓我們另存一天的討論。
但是,除了你試圖改變狀態的事實之外,還有什麼意思呢?除了試圖避免簡單的重新分配之外,其他的目的是什麼:'bool =!bool;'? –
也許我應該改寫一下這個問題:我怎樣才能用原型來改變對象的狀態......謝謝。 – trembl
相關:http://stackoverflow.com/questions/4066094/change-value-of-a-wrapped-primitive-data-type – CMS