Java脚本!instanceof If语句

2020/10/20 01:01 · javascript ·  · 0评论

这是一个非常基本的问题,仅是为了满足我的好奇心,但是有没有办法做这样的事情:

if(obj !instanceof Array) {
    //The object is not an instance of Array
} else {
    //The object is an instance of Array
}

这里的关键是能够使用NOT!在实例前面。通常,我必须设置的方式是这样的:

if(obj instanceof Array) {
    //Do nothing here
} else {
    //The object is not an instance of Array
    //Perform actions!
}

当我只是想知道对象是否是特定类型时,不得不创建else语句有点烦人。

用括号括起来,在外面取反。

if(!(obj instanceof Array)) {
    //...
}

在这种情况下,优先顺序很重要(https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/Operator_Precedence)。运算符先于instanceof运算符。

if (!(obj instanceof Array)) {
    // do something
}

是检查此内容的正确方法-正如其他人已经回答的那样。已经提出的其他两种策略将不起作用,应该被理解...

对于!没有括号操作员。

if (!obj instanceof Array) {
    // do something
}

在这种情况下,优先顺序很重要(https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/Operator_Precedence)。!运营商先于instanceof运营商。因此,首先!obj求值false(等于! Boolean(obj));那么您正在测试是否false instanceof Array,这显然是负数。

!操作员之前的情况下instanceof

if (obj !instanceof Array) {
    // do something
}

这是语法错误。诸如的!=运算符是单个运算符,而不是应用于等式的NOT。没有这样的运算符,就像!instanceof没有!<运算符一样。

忘记括号(括号)很容易,因此您可以养成以下习惯:

if(obj instanceof Array === false) {
    //The object is not an instance of Array
}

要么

if(false === obj instanceof Array) {
    //The object is not an instance of Array
}

在这里尝试

本文地址:http://javascript.askforanswer.com/javajiaobeninstanceof-ifyuju.html
文章标签: ,  
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!