首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在JavaScript中使用"ifnull“作为”ifnull“有多正确?

在JavaScript中使用"ifnull“作为”ifnull“有多正确?
EN

Stack Overflow用户
提问于 2010-12-03 10:57:11
回答 3查看 604关注 0票数 4

我在网上见过这样的代码:

代码语言:javascript
复制
function MyEventHandler(e)
{
    var ev = e || event;
    var target = ev.srcElement || ev.target
}

本质上,||运算符被用作a?a:b的缩写。据我所知,它适用于所有浏览器。但提出了一些规范,比如JScript,我明白了

对两个表达式执行逻辑分离。

JScript使用以下规则将非布尔值转换为布尔值:

  • 所有对象都被认为是真的。

所以..。根据这一点,结果应该是布尔值true/false。我只是想知道--我是在无证行为的刀刃上行走,还是这里有一些我还没有发现的细微的暗示?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-12-03 11:32:44

这种行为很好地记录下来了。参见ECMAScript规范的第11.11章:http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf

不幸的是,它不是很容易理解,但最后一段指出:

由&&或维特运算符产生的值不一定是布尔型的。产生的值将始终是两个操作数表达式之一的值。

票数 4
EN

Stack Overflow用户

发布于 2010-12-03 11:01:29

不,我认为你很清楚||的合并行为。

编辑:

&&也在合并。a && b的行为类似于a ? b : a

票数 4
EN

Stack Overflow用户

发布于 2010-12-03 11:20:30

这只是JScript规范中的一个错误。JScript是ECMAScript标准的实现,因此对于实际情况,您应该查看ECMAScript规范。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4344844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档