我正在使用一些代码来跳过在Safari中清除控制台,因为Safari中未定义此功能
if (console.clear) { console.clear() };
但是“console.clear”如何评估为真?输出看起来不像是真的。
console.log(console.clear);
// undefined Safari
// function() FF
// function clear() { [native code] } Opera, Chrome, IE
答案 0 :(得分:5)
如果target不是其中之一,则在if语句中返回true:
'', (+-)0, null, undefined, NaN, false
答案 1 :(得分:4)
所有对象都被认为是真实的,函数是JavaScript中的对象。如果没有定义函数,它将返回undefined,这是假的。
还有一件事:如果console
本身不存在,您的代码将抛出错误(IE< = 9中没有开启dev工具的情况)。更安全的测试将是:
if (console && console.clear) { console.clear() };