久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

javascript - 為什么!function foo(){}返回false,!function foo(){}()返回true?

瀏覽:131日期:2023-04-21 13:50:28

問題描述

如題,謝謝!

問題解答

回答1:

js 中被判為 false 的只有以下幾個:

0

NaN

false

’’

null

undefined

因此:

!function foo () {} == !(function foo () {}) == false

!function foo(){}() == !(function foo () { return undefined })() == !undefined == true回答2:

我覺得你的問題可以改成!(function foo(){})返回false,!(function foo(){})()返回true?因為代碼function foo(){}()執行會返回Uncaught SyntaxError: Unexpected token的錯誤。

前者是對非空字符串取反,非空字符串的布爾值是true,取反之后自然是false;后者是自執行函數的返回值取反,返回值是undefined,轉化為布爾值是false,取反是true。

以上為個人見解,歡迎討論。Thanks!

標簽: JavaScript
主站蜘蛛池模板: 平罗县| 南皮县| 驻马店市| 钟祥市| 林芝县| 江西省| 景德镇市| 津市市| 潮安县| 施秉县| 曲阳县| 西充县| 安远县| 武清区| 晋宁县| 界首市| 巴林右旗| 榆社县| 陆河县| 塔城市| 义乌市| 渝中区| 秀山| 东乌珠穆沁旗| 临洮县| 稷山县| 宣化县| 泰来县| 招远市| 威远县| 通海县| 宣恩县| 高淳县| 沈阳市| 金秀| 涟源市| 泌阳县| 文成县| 麻阳| 麻城市| 任丘市|