91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

javascript的typeof可返回了什么數據類型

發布時間:2021-12-08 17:05:28 來源:億速云 閱讀:296 作者:小新 欄目:web開發

這篇文章主要介紹了javascript的typeof可返回了什么數據類型,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

在javascript中,typeof操作符可返回的數據類型有:“undefined”、“object”、“boolean”、“number”、“string”、“symbol”、“function”等。

本教程操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

使用 typeof 操作符可以返回變量的數據類型。

我們來看看各個數據類型對應typeof的值:

數據類型結果
Undefined“undefined”
Null“object”
布爾值“boolean”
數值“number”
字符串“string”
Symbol (ECMAScript 6 新增)“symbol”
宿主對象(JS環境提供的,比如瀏覽器)Implementation-dependent
函數對象“function”
任何其他對象“object”

再看看具體的實例:

// Numbers
typeof 37 === 'number';
typeof 3.14 === 'number';
typeof Math.LN2 === 'number';
typeof Infinity === 'number';
typeof NaN === 'number'; // 盡管NaN是"Not-A-Number"的縮寫,意思是"不是一個數字"
typeof Number(1) === 'number'; // 不要這樣使用!

// Strings
typeof "" === 'string';
typeof "bla" === 'string';
typeof (typeof 1) === 'string'; // typeof返回的肯定是一個字符串
typeof String("abc") === 'string'; // 不要這樣使用!

// Booleans
typeof true === 'boolean';
typeof false === 'boolean';
typeof Boolean(true) === 'boolean'; // 不要這樣使用!

// Symbols
typeof Symbol() === 'symbol';
typeof Symbol('foo') === 'symbol';
typeof Symbol.iterator === 'symbol';

// Undefined
typeof undefined === 'undefined';
typeof blabla === 'undefined'; // 一個未定義的變量,或者一個定義了卻未賦初值的變量

// Objects
typeof {a:1} === 'object';

// 使用Array.isArray或者Object.prototype.toString.call方法可以從基本的對象中區分出數組類型
typeof [1, 2, 4] === 'object';

typeof new Date() === 'object';

// 下面的容易令人迷惑,不要這樣使用!
typeof new Boolean(true) === 'object';
typeof new Number(1) ==== 'object';
typeof new String("abc") === 'object';

// 函數
typeof function(){} === 'function';
typeof Math.sin === 'function';

我們會發現一個問題,就是typeof來判斷數據類型其實并不準確。比如數組、正則、日期、對象的typeof返回值都是object,這就會造成一些誤差。

所以在typeof判斷類型的基礎上,我們還需要利用Object.prototype.toString方法來進一步判斷數據類型。

我們來看看在相同數據類型的情況下,toString方法和typeof方法返回值的區別:

數據toStringtypeof
“foo”Stringstring
new String(“foo”)Stringobject
new Number(1.2)Numberobject
trueBooleanboolean
new Boolean(true)Booleanobject
new Date()Dateobject
new Error()Errorobject
new Array(1, 2, 3)Arrayobject
/abc/gRegExpobject
new RegExp(“meow”)RegExpobject

可以看到利用toString方法可以正確區分出Array、Error、RegExp、Date等類型。

所以我們一般通過該方法來進行數據類型的驗證。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“javascript的typeof可返回了什么數據類型”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永州市| 崇仁县| 吉木萨尔县| 南木林县| 视频| 馆陶县| 称多县| 雷山县| 盐亭县| 资溪县| 界首市| 白沙| 邵武市| 洮南市| 尉犁县| 辛集市| 独山县| 丁青县| 锡林郭勒盟| 永年县| 曲阳县| 嘉义县| 龙口市| 柳河县| 张家口市| 哈尔滨市| 宁阳县| 日土县| 广东省| 玛曲县| 剑川县| 玉门市| 湘阴县| 韶山市| 卢龙县| 莱州市| 思南县| 高淳县| 双桥区| 盖州市| 德州市|