成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

小tips:JS中typeof與instanceof用法

王巖威 / 3142人閱讀

摘要:介紹用以獲取一個(gè)變量或者表達(dá)式的類型,一般只能返回如下幾個(gè)結(jié)果函數(shù)數(shù)組,對(duì)象。實(shí)際應(yīng)用有的頁(yè)面我們不定義但有的頁(yè)面定義了,就可以需要這樣的判斷方法,沒(méi)有定義的就不執(zhí)行。

介紹 typeof

typeof用以獲取一個(gè)變量或者表達(dá)式的類型,typeof一般只能返回如下幾個(gè)結(jié)果:

number

boolean

string

function(函數(shù))

object(NULL,數(shù)組,對(duì)象)

undefined。

例子:

function curFun(){};
var numberType = 123;
var stringType = "123";
var booleanType = false;
var obj = {};
var nullType = null;
var arrayType = [];
var unden;

console.log(typeof curFun); //function

console.log(typeof numberType);//number
console.log(typeof stringType);//string
console.log(typeof booleanType); //boolean

console.log(typeof obj); //object
console.log(typeof nullType); //object
console.log(typeof arrayType); //object

console.log(typeof unden); //undefined

我們可以使用typeof來(lái)獲取一個(gè)變量是否存在,如if(typeof a!="undefined"){},而不要去使用if(a)因?yàn)槿绻鸻不存在(未聲明)則會(huì)出錯(cuò),

正因?yàn)閠ypeof遇到null,數(shù)組,對(duì)象時(shí)都會(huì)返回object類型,所以當(dāng)我們要判斷一個(gè)對(duì)象是否是數(shù)組時(shí)或者判斷某個(gè)變量是否是某個(gè)對(duì)象的實(shí)例則要選擇使用另一個(gè)關(guān)鍵語(yǔ)法instanceof

instanceof

instanceof用于判斷一個(gè)變量是否某個(gè)對(duì)象的實(shí)例

var arr = new Array();
console.log(arr instanceof Array); //true
console.log(arr instanceof Object) //true,因?yàn)锳rray是object的子類
function test(){};
var testInstance = new test();
console.log(testInstance instanceof test); //true
js判斷變量是否未定義的代碼

一般如果變量通過(guò)var聲明,但是并未初始化的時(shí)候,變量的值為undefined,而未定義的變量則需要通過(guò) "typeof 變量"的形式來(lái)判斷,否則會(huì)發(fā)生錯(cuò)誤。
實(shí)際應(yīng)用:
variable有的頁(yè)面我們不定義,但有的頁(yè)面定義了,就可以需要這樣的判斷方法,沒(méi)有定義的就不執(zhí)行。

if("undefined" != typeof variable){ 
    if(variable=="abc"){ 
        console.log("成功"); 
    } 
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/89778.html

相關(guān)文章

  • tipsJS之淺拷貝深拷貝

    摘要:淺拷貝深拷貝淺拷貝的問(wèn)題如果父對(duì)象的屬性等于數(shù)組或另一個(gè)對(duì)象,那么實(shí)際上,子對(duì)象獲得的只是一個(gè)內(nèi)存地址,而不是真正拷貝,因此存在父對(duì)象被篡改的可能。 淺拷貝: function extendCopy(p) {  var c = {};  for (var i in p) {    c[i] = p[i];  }  return c; } 深拷貝: function deepCopy(p...

    Soarkey 評(píng)論0 收藏0
  • JavaScript - 變量、值、類型

    摘要:一返回值共有種二變量聲明方法聲明一個(gè)變量,可以將其初始化為一個(gè)值聲明一個(gè)塊級(jí)作用域變量,可以將其初始化一個(gè)值聲明一個(gè)只讀的常量使用的注意事項(xiàng)不支持塊級(jí)作用域存在變量提升舉例由于變量聲明提升,這段代碼相當(dāng)于使用的注意事項(xiàng)塊級(jí)作用域 一、type of 返回值共有7種:undefined, object, boolean, number, string, symbol, function ...

    ziwenxie 評(píng)論0 收藏0
  • 讀書(shū)筆記(02) - 可維護(hù)性 - JavaScript高級(jí)程序設(shè)計(jì)

    摘要:解耦優(yōu)勢(shì)代碼復(fù)用,單元測(cè)試。常用比較誤區(qū)可同時(shí)判斷,可用來(lái)判斷對(duì)象屬性是否存在。使用作判斷無(wú)法進(jìn)行充分的類型檢查。文件中應(yīng)用常量參考文檔高級(jí)程序設(shè)計(jì)作者以樂(lè)之名本文原創(chuàng),有不當(dāng)?shù)牡胤綒g迎指出。 showImg(https://segmentfault.com/img/bVburXw?w=500&h=400); 編寫(xiě)可維護(hù)性代碼 可維護(hù)的代碼遵循原則: 可理解性 (方便他人理解) 直觀...

    k00baa 評(píng)論0 收藏0
  • js知識(shí)點(diǎn)

    摘要:如果左側(cè)的對(duì)象是右側(cè)類的實(shí)例,則返回對(duì)象拋出異常。其他情況下,它將使用一個(gè)預(yù)定于的默認(rèn)字符串作為該屬性的值。當(dāng)不使用操作符,直接將構(gòu)造函數(shù)像一個(gè)函數(shù)一樣調(diào)用時(shí),它的行為和帶操作符調(diào)用時(shí)一樣。 1、數(shù)據(jù)類型 有七個(gè)原始數(shù)據(jù)類型:字符串(String)、數(shù)字(Number)、布爾(Boolean)、空(Null)、未定義(Undefined)、Object、Symbol。 注1:Objec...

    褰辯話 評(píng)論0 收藏0
  • 精讀《Typescript2.0 - 2.9》

    摘要:比如或者都會(huì)導(dǎo)致函數(shù)返回值類型時(shí)。和特性一樣,等于是函數(shù)返回值中的或。注意對(duì)比下面的寫(xiě)法對(duì)于,它的返回值是可迭代的對(duì)象,并且每個(gè)類型都是或者。首先是不支持方法重載的,是支持的,而類型系統(tǒng)一定程度在對(duì)標(biāo),當(dāng)然要支持這個(gè)功能。 1 引言 精讀原文是 typescript 2.0-2.9 的文檔: 2.0-2.8,2.9 草案. 我發(fā)現(xiàn),許多寫(xiě)了一年以上 Typescript 開(kāi)發(fā)者,對(duì) T...

    william 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<