簡體   English   中英

Javascript:奇怪的行為“空字符串”和“假”返回空字符串

[英]Javascript : Strange behaviour `empty string` AND `false` returns empty string

今天,我遇到了Javascript中的奇怪行為。 下面是代碼

return "" && false

返回“”。

為什么會這樣呢?

因為

產生LogicalANDExpression:LogicalANDExpression && BitwiseORExpression的評估如下:

  1. 令lref為評估LogicalANDExpression的結果。
  2. 令lval為GetValue(lref)。
  3. 如果ToBoolean(lval)為false,則返回lval。
  4. 令rref為評估BitwiseORExpression的結果。
  5. 返回GetValue(rref)。

ECMAScript 5.1

這意味着:

如果第一個值是假,則返回第一個值;如果第一個值是真,則返回第二個值。


這也是您執行以下操作時看到的行為:

return false && true

false

這也意味着

return 23 && "Hello"

會給你“你好”

LHS首先運行,返回使您退出該函數

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM