JavaScript中的typeof操作符用法實(shí)例
對(duì)一個(gè)值使用typeof操作符可能返回下列某個(gè)字符串:
“undefined”——如果這個(gè)值未定義
“boolean”——如果這個(gè)值是布爾值
“string”——如果這個(gè)值是字符串
“number”——如果這個(gè)值是數(shù)值
“object”——如果這個(gè)是對(duì)象或null
“function”——如果這個(gè)值是函數(shù)
常用的typeof操作符的返回值包括number、string、boolean、undefined 、object和function。如:
var n;
console.log(typeof n); // "undefined"
n = 1;
console.log(typeof n); // "number"
n = "1";
console.log(typeof n); // "string"
n = false;
console.log(typeof n); // "boolean"
n = { name: "obj" };
console.log(typeof n); // "object"
n = new Number(5);
console.log(typeof n); // "object"
n = function() { return; };
console.log(typeof n); // "function"
這幾個(gè)例子說(shuō)明,typeof操作符的操作數(shù)可以是變量(message),也可以是數(shù)值字面量。注意,typeof是一個(gè)操作符而不是函數(shù),因此例子中的圓括號(hào)不是必須的(盡管可以使用)。
從上面的例子中,我們發(fā)現(xiàn)用Number()創(chuàng)建的數(shù)字也會(huì)被typeof判定為對(duì)象而返回值“object”,這是因?yàn)闃?gòu)造函數(shù)返回的都是對(duì)象,那么如果我們想要區(qū)分?jǐn)?shù)字對(duì)象(Number)、字符串對(duì)象(String)、數(shù)組對(duì)象(Array)、Function對(duì)象、日起對(duì)象(Date)、布爾對(duì)象(Boolean)以及錯(cuò)誤對(duì)象(Error)等JavaScript內(nèi)置對(duì)象時(shí),怎么辦呢?在這里可以調(diào)用對(duì)象的toString方法,如:
var n, res;
n = new Number(66);
res = Object.prototype.toString.call(n);
console.log(res); // "[object Number]"
n = new String("string");
res = Object.prototype.toString.call(n);
console.log(res); // "[object String]"
n = [];
res = Object.prototype.toString.call(n);
console.log(res); // "[object Array]"
// ...
相關(guān)文章
淺談JavaScript的對(duì)象類型之function
這篇文章主要介紹了淺談JavaScript的對(duì)象類型之function,函數(shù)(方法)是由事件驅(qū)動(dòng)的或者當(dāng)它被調(diào)用時(shí)執(zhí)行的可重復(fù)使用的代碼塊,需要的朋友可以參考下2023-05-05
javascript學(xué)習(xí)筆記(九) js對(duì)象 設(shè)計(jì)模式
javascript學(xué)習(xí)筆記之js對(duì)象 設(shè)計(jì)模式介紹,需要的朋友可以參考下2012-06-06
關(guān)于javascript事件響應(yīng)的基礎(chǔ)語(yǔ)法總結(jié)(必看篇)
下面小編就為大家?guī)?lái)一篇關(guān)于javascript事件響應(yīng)的基礎(chǔ)語(yǔ)法總結(jié)(必看篇)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧,祝大家游戲愉快哦2016-12-12
使用原生JS獲取select元素選中的value和text值
這篇文章介紹了使用原生JS獲取select元素選中的value和text值,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03
想學(xué)習(xí)javascript JS和jQuery哪個(gè)重要 先學(xué)哪個(gè)
在一些技術(shù)論壇與qq群經(jīng)??吹接羞@樣類似的提問,當(dāng)然提出這樣問題的通常都是新手為了解決大家的疑惑,同時(shí)幫助新手程序員能更快掌握學(xué)習(xí)的方向,不致于弄錯(cuò)重點(diǎn)2016-12-12
JavaScript簡(jiǎn)介_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
JavaScript是一種基于對(duì)象(Object)和事件驅(qū)動(dòng)(EventDriven)并具有安全性能的腳本語(yǔ)言,javascript的出現(xiàn)使得網(wǎng)頁(yè)和用戶之間實(shí)現(xiàn)了一種實(shí)時(shí)性的,動(dòng)態(tài)性的,交互性的關(guān)系,使網(wǎng)頁(yè)包含更多活躍的元素和更加精彩的內(nèi)容2017-06-06
Knockout數(shù)組(observable)使用詳解示例
本文通過示例詳細(xì)說(shuō)明了Knockout數(shù)組(observable)的使用方法,如從observableArray里讀取信息、操作observableArray2013-11-11

