簡體   English   中英

為什么我們使用typeof XMLHttpRequest!=“ undefined”? 什么是未定義的?

[英]Why do we use typeof XMLHttpRequest !=“undefined”? What it is undefined?

為什么我們使用typeof XMLHttpRequest !="undefined"

什么是未定義的我不了解那里的未定義是什么?

 if (typeof XMLHttpRequest != "undefined")
     {
        xmlHttp= new XMLHttpRequest();
     }
     else if (window.ActiveXObject)
      {
        xmlHttp= new ActiveXObject("Microsoft.XMLHTTP");
      }

這些檢查適用於非常舊版本的Internet Explorer(確切地說是IE6和更低版本)。

有幾種方法可以檢測瀏覽器是否支持XMLHttpRequest 使用typeof SomeObject只是其中一種方法。 您可能還會看到...

if ("XMLHttpRequest" in window) { ... }

或直接向上

if (window.XMLHttpRequest) { ... }

首先,除非您對支持IE6的要求極高,否則請刪除此代碼。 不再需要它。

只是檢查是否在瀏覽器中定義了XMLHttpRequest符號,以查看該瀏覽器是否本身支持Ajax調用。

如果不是這樣,它將退回到Microsoft專有的實施中。 如果定義了xmlHttpRequest ,則typeof XMLHttpRequest將具有“功能”而不是“未定義”的值。

舉個例子:

var x = 3;

console.log(typeof x);    // "number"
console.log(typeof y);    // "undefined"

// And, in any modern browser
console.log(typeof XMLHttpRequest);  // "function"

// In IE6
console.log(typeof XMLHttpRequest);  // "undefined"

這種檢查XMLHttpRequest是否存在的類型適用於非常老的Microsoft瀏覽器(IE6和更早的版本),不再需要,可以安全地刪除。

暫無
暫無

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

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