所以,
我知道可以覆盖alert()
,confirm()
...等功能,如下所示:
window.alert = function(x){
// do something
}
我的问题是,是否可以对if语句执行相同的操作?
window.if = function(x){
// etc
}
谢谢!
答案 0 :(得分:4)
if
不是一个功能。它是一种内置的语言陈述,所以不,它不能简单地被覆盖。
无论如何,改变if
的含义在99.9999%的情况下都是不可取的。您可能会破坏可能在您的网站上使用的所有其他代码。
如果你想创建自己的版本,那就不那么困难了:
function myIf(predF, thenF, elseF) {
if (predF()) {
thenF()
} else {
elseF()
}
}
然后使用它:
myIf(() => 5 < 10,
() => console.log("It works!"),
() => console.log("It's broken!")
)
然后对该功能进行任何更改。
(应该注意的是,使用上述功能可能是一个糟糕的主意。它仅仅是一个例子)。
答案 1 :(得分:0)