簡體   English   中英

JavaScript:測試未定義值的變量;測試對象是否是數組

[英]JavaScript: Testing variables for undefined value; testing whether object is array

  1. typeof value === "undefined"value === undefined之間有區別嗎?

  2. 為什么JavaScript需要ECMAScript 5中的Array.isArray() 我不能只調用value instanceof Array來確定給定變量是否是一個數組?

//var value; There is no var declaration. The variable was never declared

// check againts undeclared variables
typeof value === "undefined"; // works

// check againts declared variables with no value
value === undefined; // ReferenceError: value is not defined

還存在undefined = true有效的問題。 但你並不真正關心這一點。 這些天沒有人愚蠢地改變全球undefined

我也知道有instanceof被破壞的錯誤。 我不能告訴你Array.isArray更好的原因。

您將在JavaScript Garden中找到對instanceof批評

如果您閱讀本文,它會提到instanceof如何在單獨的框架/窗口/ iframe中不起作用。

因為instanceof檢查會反復使用Array ,每個窗口都有自己的window.Array

暫無
暫無

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

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