国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

小tips:JS中typeof與instanceof用法

王巖威 / 3136人閱讀

摘要:介紹用以獲取一個變量或者表達式的類型,一般只能返回如下幾個結果函數數組,對象。實際應用有的頁面我們不定義但有的頁面定義了,就可以需要這樣的判斷方法,沒有定義的就不執行。

介紹 typeof

typeof用以獲取一個變量或者表達式的類型,typeof一般只能返回如下幾個結果:

number

boolean

string

function(函數)

object(NULL,數組,對象)

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來獲取一個變量是否存在,如if(typeof a!="undefined"){},而不要去使用if(a)因為如果a不存在(未聲明)則會出錯,

正因為typeof遇到null,數組,對象時都會返回object類型,所以當我們要判斷一個對象是否是數組時或者判斷某個變量是否是某個對象的實例則要選擇使用另一個關鍵語法instanceof

instanceof

instanceof用于判斷一個變量是否某個對象的實例

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

一般如果變量通過var聲明,但是并未初始化的時候,變量的值為undefined,而未定義的變量則需要通過 "typeof 變量"的形式來判斷,否則會發生錯誤。
實際應用:
variable有的頁面我們不定義,但有的頁面定義了,就可以需要這樣的判斷方法,沒有定義的就不執行。

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

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/89778.html

相關文章

  • tipsJS之淺拷貝深拷貝

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

    Soarkey 評論0 收藏0
  • JavaScript - 變量、值、類型

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

    ziwenxie 評論0 收藏0
  • 讀書筆記(02) - 可維護性 - JavaScript高級程序設計

    摘要:解耦優勢代碼復用,單元測試。常用比較誤區可同時判斷,可用來判斷對象屬性是否存在。使用作判斷無法進行充分的類型檢查。文件中應用常量參考文檔高級程序設計作者以樂之名本文原創,有不當的地方歡迎指出。 showImg(https://segmentfault.com/img/bVburXw?w=500&h=400); 編寫可維護性代碼 可維護的代碼遵循原則: 可理解性 (方便他人理解) 直觀...

    k00baa 評論0 收藏0
  • js知識點

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

    褰辯話 評論0 收藏0
  • 精讀《Typescript2.0 - 2.9》

    摘要:比如或者都會導致函數返回值類型時。和特性一樣,等于是函數返回值中的或。注意對比下面的寫法對于,它的返回值是可迭代的對象,并且每個類型都是或者。首先是不支持方法重載的,是支持的,而類型系統一定程度在對標,當然要支持這個功能。 1 引言 精讀原文是 typescript 2.0-2.9 的文檔: 2.0-2.8,2.9 草案. 我發現,許多寫了一年以上 Typescript 開發者,對 T...

    william 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<