类似的东西:
var MyCustomBoolean = function(b){
if (b === 'FALSE'){
this.b = false;
}else if(b === 'TRUE'){
this.b = true;
}
this.valueOf = function(){
return this.b;
}
}
这样下面的内容就会产生一个带有“in your face”文本的警报
if (new MyCustomBoolean('TRUE')){
alert("In your face!");
}
if (new MyCustomBoolean('FALSE')){
alert("not so much.");
}
现在我可以通过显式调用 valueOf 函数来解决这个问题。通过“myBObj == true”检查等价性。
那么是否有可能拥有一个继承自 Boolean.prototype 的自定义布尔对象,这样我就可以编写上述 if 块?