日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

javascript基础之判断变量类型

發布時間:2025/3/15 javascript 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 javascript基础之判断变量类型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

判斷變量類型

javaSctipt數據類型7種: Number, String, Boolean, Null, Undefined, Object, Symbol

typeof操作符

可能返回的值如下

  • undefined
  • boolean
  • string
  • number
  • object
  • function

注意: typeof 的能力有限,其對于null, Date、RegExp類型返回的都是"object"

typeof null // 'object' typeof {}; // "object" typeof []; // "object" typeof new Date(); // "object"

使用場景:區分對象和原始類型,要區分一種對象類型和另一種對象類型,可以使用: instanceof運算符或對象contructor屬性

instanceof運算符

用法: 左邊的運算數是一個object,右邊運算數是對象類的名字或者構造函數;返回true或false

[] instanceof Array; // true [] instanceof Object; // true [] instanceof RegExp; // false new Date instanceof Date; // true

如果object是class或者構造函數的實例,則返回true,如果不是或者是null也返回false
instanceof運算符判斷是否為數組類型

function isArray(arr){ return arr instanceof Array; }

contructor屬性

所有的對象都有一個constructor屬性,指向該對象的基本對啊性構造函數類型的屬性

var a = new Array; a.constructor === Array // truevar n = new Number(3); n.constructor === Number; // true

判斷為數組還可以這樣

function isArray(arr){ return typeof arr === "object" && arr.constructor === Array; }

Object.ProtoType.toString()

每個對象都有一個toString()方法,返回"[object type]",其中type是對象的類型
當執行該方法時,執行以下步驟
1,獲取對象的class屬性
2,連接字符串 "[object "+結果1+"]" ;

所以可以通過toString()來獲取每個對象的類型,為了每個對象都可以通過Object.protoType.toString()來檢測,需要以Funciton.prototype.call()或Function.prototype.apply()的形式來調用,傳遞要檢查的對象作為第一個參數,稱為thisArg

Object.prototype.toString.call(new Date); // "[object Date]" Object.prototype.toString.call([]); // "[object Array]" Object.prototype.toString.call(/reg/ig); // "[object RegExp]"

參考

JavaScript中判斷對象類型的幾種方法總結

About

github
blog

總結

以上是生活随笔為你收集整理的javascript基础之判断变量类型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。