摘要:簡介語言的每一個值,都屬于某一種數據類型原始類型特殊值復雜類型判斷值的類型運算符運算符可以返回一個值的數據類型。由于歷史原因,的類型是運算符運算符返回一個布爾值,表示對象是否為某個構造函數的實例。
簡介
JavaScript 語言的每一個值,都屬于某一種數據類型
原始類型
boolean
number
string
特殊值
undefined
null
復雜類型
object
array
function
判斷值的類型1.typeof 運算符
typeof 運算符可以返回一個值的數據類型。
typeof true // "boolean" typeof 100 // "number" typeof "Hello World" // "string" var fn = function() { console.log(str); } typeof fn // "function" var u; typeof u // "undefined" // 由于歷史原因,null 的類型是 object typeof null // "object" typeof window // "object" typeof {} // "object" typeof [] // "object"
2.instanceof 運算符
instanceof 運算符返回一個布爾值,表示對象是否為某個構造函數的實例。
instanceof 運算符的左邊是實例對象,右邊是構造函數。它會檢查右邊構建函數的原型對象(prototype),是否在左邊對象的原型鏈上。
// instanceof 運算符只能用于對象,不適用原始類型的值以及undefined,null var s = "hello" s instanceof String // false
instanceof 的用處
var x = [1, 2, 3]; var y = {}; var date = new Date(); x instanceof Array // true y instanceof Object // true date instanceof Date // true
3.Object.prototype.toString 方法
Object.prototype.toString.call(value)
數值:返回[object Number]。
字符串:返回[object String]。
布爾值:返回[object Boolean]。
undefined:返回[object Undefined]。
null:返回[object Null]。
數組:返回[object Array]。
arguments 對象:返回[object Arguments]。
函數:返回[object Function]。
Error 對象:返回[object Error]。
Date 對象:返回[object Date]。
RegExp 對象:返回[object RegExp]。
其他對象:返回[object Object]。
Object.prototype.toString.call(1) // "[object Number]" Object.prototype.toString.call("") // "[object String]" Object.prototype.toString.call(true) // "[object Boolean]" Object.prototype.toString.call(undefined) // "[object Undefined]" Object.prototype.toString.call(null) // "[object Null]" Object.prototype.toString.call(Math) // "[object Math]" Object.prototype.toString.call({}) // "[object Object]" Object.prototype.toString.call([]) // "[object Array]"
利用這個特性,可以寫出typeof運算符更準確的類型判斷函數
var type = function (o){ var s = Object.prototype.toString.call(o); return s.match(/[object (.*?)]/)[1].toLowerCase(); }; type({}); // "object" type([]); // "array" type(5); // "number" type(null); // "null" type(); // "undefined" type(/abcd/); // "regex" type(new Date()); // "date"
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/97724.html
摘要:一抽象數據類型,縮寫為是計算機領域一種很基礎的方法,基本的思想就是數據抽象。二抽象數據類型的概念和描述抽象數據類型把數據定義為抽象的對象集合,只為他們定義可用的操作,而不用暴露具體的實現細節。 文章首發于公眾號一件風衣(ID:yijianfengyi) 名人名言強調基礎的重要性的句子不勝枚舉,數據結構與算法作為計算機專業的必學科目,其重要性不言而喻。 在以往的教學體系中,數據結構與算法...
摘要:目錄語句變量小結基本語法一是核心知識點的基本語法的第一部分,主要介紹了語句表達式變量和數據類型不包括函數類型的基本知識點,函數類型將在下一章函數二中詳細探討語句程序的執行是由一條條語句組成的每一條語句是為完成特定任務而執行的操作語句當中可以 目錄 1. 語句 2. 變量 3. 小結 JavaScript基本語法(一)是JavaScript核心知識點(ECMAScript)的基本語法的...
摘要:數據類型類型轉換數值類型數值類型序列類型不同于的自增長,和都是序列的方式創建使用創建序列關聯列表架構模式名稱類型擁有者數據表數據表序列數行記錄數據 數據類型 showImg(https://segmentfault.com/img/bVbi9mw?w=750&h=379);showImg(https://segmentfault.com/img/bVbi9mz?w=729&h=626)...
閱讀 1780·2021-11-25 09:43
閱讀 15410·2021-09-22 15:11
閱讀 2629·2019-08-30 13:19
閱讀 2014·2019-08-30 12:54
閱讀 1820·2019-08-29 13:06
閱讀 927·2019-08-26 14:07
閱讀 1617·2019-08-26 10:47
閱讀 3034·2019-08-26 10:41