摘要:簡介語言的每一個值,都屬于某一種數(shù)據(jù)類型原始類型特殊值復(fù)雜類型判斷值的類型運(yùn)算符運(yùn)算符可以返回一個值的數(shù)據(jù)類型。由于歷史原因,的類型是運(yùn)算符運(yùn)算符返回一個布爾值,表示對象是否為某個構(gòu)造函數(shù)的實(shí)例。
簡介
JavaScript 語言的每一個值,都屬于某一種數(shù)據(jù)類型
原始類型
boolean
number
string
特殊值
undefined
null
復(fù)雜類型
object
array
function
判斷值的類型1.typeof 運(yùn)算符
typeof 運(yùn)算符可以返回一個值的數(shù)據(jù)類型。
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 運(yùn)算符
instanceof 運(yùn)算符返回一個布爾值,表示對象是否為某個構(gòu)造函數(shù)的實(shí)例。
instanceof 運(yùn)算符的左邊是實(shí)例對象,右邊是構(gòu)造函數(shù)。它會檢查右邊構(gòu)建函數(shù)的原型對象(prototype),是否在左邊對象的原型鏈上。
// instanceof 運(yùn)算符只能用于對象,不適用原始類型的值以及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)
數(shù)值:返回[object Number]。
字符串:返回[object String]。
布爾值:返回[object Boolean]。
undefined:返回[object Undefined]。
null:返回[object Null]。
數(shù)組:返回[object Array]。
arguments 對象:返回[object Arguments]。
函數(shù):返回[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運(yùn)算符更準(zhǔn)確的類型判斷函數(shù)
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"
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/97724.html
摘要:相反的,通用數(shù)據(jù)類型并不和任何特定的屬性相關(guān)聯(lián)。本文,我將整體講述一下所有的通用數(shù)據(jù)類型。這樣以來就能夠避免和字符串?dāng)?shù)據(jù)類型混淆。距離距離數(shù)據(jù)類型表示距離的單位,有兩種長度單位。漸變函數(shù)使用數(shù)據(jù)類型來定義。 CSS中屬性的值有著許多種格式。為了讓用戶代理(即瀏覽器)能夠識別一個值是否有效,則需要確認(rèn)該值是否符合該類值支持的格式的其中一種。這些屬性值所支持的格式叫做數(shù)據(jù)類型,在規(guī)范中用的...
摘要:相反的,通用數(shù)據(jù)類型并不和任何特定的屬性相關(guān)聯(lián)。本文,我將整體講述一下所有的通用數(shù)據(jù)類型。這樣以來就能夠避免和字符串?dāng)?shù)據(jù)類型混淆。距離距離數(shù)據(jù)類型表示距離的單位,有兩種長度單位。漸變函數(shù)使用數(shù)據(jù)類型來定義。 CSS中屬性的值有著許多種格式。為了讓用戶代理(即瀏覽器)能夠識別一個值是否有效,則需要確認(rèn)該值是否符合該類值支持的格式的其中一種。這些屬性值所支持的格式叫做數(shù)據(jù)類型,在規(guī)范中用的...
摘要:一抽象數(shù)據(jù)類型,縮寫為是計(jì)算機(jī)領(lǐng)域一種很基礎(chǔ)的方法,基本的思想就是數(shù)據(jù)抽象。二抽象數(shù)據(jù)類型的概念和描述抽象數(shù)據(jù)類型把數(shù)據(jù)定義為抽象的對象集合,只為他們定義可用的操作,而不用暴露具體的實(shí)現(xiàn)細(xì)節(jié)。 文章首發(fā)于公眾號一件風(fēng)衣(ID:yijianfengyi) 名人名言強(qiáng)調(diào)基礎(chǔ)的重要性的句子不勝枚舉,數(shù)據(jù)結(jié)構(gòu)與算法作為計(jì)算機(jī)專業(yè)的必學(xué)科目,其重要性不言而喻。 在以往的教學(xué)體系中,數(shù)據(jù)結(jié)構(gòu)與算法...
摘要:目錄語句變量小結(jié)基本語法一是核心知識點(diǎn)的基本語法的第一部分,主要介紹了語句表達(dá)式變量和數(shù)據(jù)類型不包括函數(shù)類型的基本知識點(diǎn),函數(shù)類型將在下一章函數(shù)二中詳細(xì)探討語句程序的執(zhí)行是由一條條語句組成的每一條語句是為完成特定任務(wù)而執(zhí)行的操作語句當(dāng)中可以 目錄 1. 語句 2. 變量 3. 小結(jié) JavaScript基本語法(一)是JavaScript核心知識點(diǎn)(ECMAScript)的基本語法的...
摘要:數(shù)據(jù)類型類型轉(zhuǎn)換數(shù)值類型數(shù)值類型序列類型不同于的自增長,和都是序列的方式創(chuàng)建使用創(chuàng)建序列關(guān)聯(lián)列表架構(gòu)模式名稱類型擁有者數(shù)據(jù)表數(shù)據(jù)表序列數(shù)行記錄數(shù)據(jù) 數(shù)據(jù)類型 showImg(https://segmentfault.com/img/bVbi9mw?w=750&h=379);showImg(https://segmentfault.com/img/bVbi9mz?w=729&h=626)...
閱讀 1787·2021-11-25 09:43
閱讀 15421·2021-09-22 15:11
閱讀 2632·2019-08-30 13:19
閱讀 2015·2019-08-30 12:54
閱讀 1821·2019-08-29 13:06
閱讀 930·2019-08-26 14:07
閱讀 1621·2019-08-26 10:47
閱讀 3037·2019-08-26 10:41