一、js檢測數據類型方法
JS中內置了用於檢測數據類型的方法,其中最常用的是typeof和instanceof。
// 使用typeof檢測數據類型 console.log(typeof 123); // 輸出 "number" console.log(typeof "hello"); // 輸出 "string" console.log(typeof true); // 輸出 "boolean" console.log(typeof undefined); // 輸出 "undefined" console.log(typeof null); // 輸出 "object" console.log(typeof []); // 輸出 "object" console.log(typeof {}); // 輸出 "object" console.log(typeof function(){}); // 輸出 "function" // 使用instanceof檢測數據類型 console.log(123 instanceof Number); // 輸出 false console.log("hello" instanceof String); // 輸出 false console.log(true instanceof Boolean); // 輸出 false console.log(undefined instanceof undefined); // 輸出報錯 console.log(null instanceof null); // 輸出 false console.log([] instanceof Array); // 輸出 true console.log({} instanceof Object); // 輸出 true console.log((function(){}) instanceof Function); // 輸出 true
二、js如何檢測數據類型
在JS中,除了使用內置的檢測數據類型方法外,還可以使用typeof+值的形式來進行數據類型的判斷。
// 使用typeof+值來檢測數據類型 console.log(typeof 123 === "number"); // 輸出 true console.log(typeof "hello" === "string"); // 輸出 true console.log(typeof true === "boolean"); // 輸出 true console.log(typeof undefined === "undefined"); // 輸出 true console.log(typeof null === "object"); // 輸出 true console.log(typeof [] === "object"); // 輸出 true console.log(typeof {} === "object"); // 輸出 true console.log(typeof function(){} === "function"); // 輸出 true
三、檢測數據類型js
在JS中,有多種方法可以檢測數據類型,如使用typeof、instanceof、Object.prototype.toString等。
// 使用Object.prototype.toString來檢測數據類型 console.log(Object.prototype.toString.call(123) === "[object Number]"); // 輸出 true console.log(Object.prototype.toString.call("hello") === "[object String]"); // 輸出 true console.log(Object.prototype.toString.call(true) === "[object Boolean]"); // 輸出 true console.log(Object.prototype.toString.call(undefined) === "[object Undefined]"); // 輸出 true console.log(Object.prototype.toString.call(null) === "[object Null]"); // 輸出 true console.log(Object.prototype.toString.call([]) === "[object Array]"); // 輸出 true console.log(Object.prototype.toString.call({}) === "[object Object]"); // 輸出 true console.log(Object.prototype.toString.call(function(){}) === "[object Function]"); // 輸出 true
四、js檢測數據類型是不是數字
在JS中,可以使用typeof或isNaN方法來檢測一個值是否為數字類型。
var num = 123; console.log(typeof num === "number"); // 輸出 true console.log(!isNaN(num)); // 輸出 true var str = "123"; console.log(typeof str === "number"); // 輸出 false console.log(!isNaN(str)); // 輸出 true var bool = true; console.log(typeof bool === "number"); // 輸出 false console.log(!isNaN(bool)); // 輸出 true var undef = undefined; console.log(typeof undef === "number"); // 輸出 false console.log(isNaN(undef)); // 輸出 true var nul = null; console.log(typeof nul === "number"); // 輸出 false console.log(!isNaN(nul)); // 輸出 true
五、js檢測數據類型的操作符
在JS中,有三種操作符可以用於檢測變量的數據類型,分別為typeof、instanceof、和Object.prototype.toString.call()。
var num = 123; console.log(typeof num); // 輸出 "number" console.log(num instanceof Number); // 輸出 false console.log(Object.prototype.toString.call(num)); // 輸出 "[object Number]" var str = "hello"; console.log(typeof str); // 輸出 "string" console.log(str instanceof String); // 輸出 false console.log(Object.prototype.toString.call(str)); // 輸出 "[object String]" var bool = true; console.log(typeof bool); // 輸出 "boolean" console.log(bool instanceof Boolean); // 輸出 false console.log(Object.prototype.toString.call(bool)); // 輸出 "[object Boolean]" var arr = []; console.log(typeof arr); // 輸出 "object" console.log(arr instanceof Array); // 輸出 true console.log(Object.prototype.toString.call(arr)); // 輸出 "[object Array]" var obj = {}; console.log(typeof obj); // 輸出 "object" console.log(obj instanceof Object); // 輸出 true console.log(Object.prototype.toString.call(obj)); // 輸出 "[object Object]" var fn = function(){}; console.log(typeof fn); // 輸出 "function" console.log(fn instanceof Function); // 輸出 true console.log(Object.prototype.toString.call(fn)); // 輸出 "[object Function]"
六、js檢測數據類型的方法有哪些
JS中檢測數據類型的方法有很多種,如上文所述,最常用的是typeof、instanceof、和Object.prototype.toString.call()。
除此之外,還有以下方法:
- 1.使用constructor方法進行數據類型的判斷
var num = new Number(123); console.log(num.constructor === Number); // 輸出 true var str = new String("hello"); console.log(str.constructor === String); // 輸出 true var bool = new Boolean(true); console.log(bool.constructor === Boolean); // 輸出 true var arr = []; console.log(arr.constructor === Array); // 輸出 true var obj = {}; console.log(obj.constructor === Object); // 輸出 true var fn = function(){}; console.log(fn.constructor === Function); // 輸出 true
var num = new Number(123); console.log(Number.prototype.isPrototypeOf(num)); // 輸出 true var str = new String("hello"); console.log(String.prototype.isPrototypeOf(str)); // 輸出 true var bool = new Boolean(true); console.log(Boolean.prototype.isPrototypeOf(bool)); // 輸出 true var arr = []; console.log(Array.prototype.isPrototypeOf(arr)); // 輸出 true var obj = {}; console.log(Object.prototype.isPrototypeOf(obj)); // 輸出 true var fn = function(){}; console.log(Function.prototype.isPrototypeOf(fn)); // 輸出 true
var arr = []; console.log(Array.isArray(arr)); // 輸出 true var obj = {}; console.log(Array.isArray(obj)); // 輸出 false
七、檢測數據類型的四種方式
JS中檢測數據類型的四種方式是:typeof、instanceof、Object.prototype.toString.call()和constructor。
var num = 123; console.log(typeof num === "number"); // 輸出 true console.log(num instanceof Number); // 輸出 false console.log(Object.prototype.toString.call(num)); // 輸出 "[object Number]" console.log(num.constructor === Number); // 輸出 true var str = "hello"; console.log(typeof str === "string"); // 輸出 true console.log(str instanceof String); // 輸出 false console.log(Object.prototype.toString.call(str)); // 輸出 "[object String]" console.log(str.constructor === String); // 輸出 true var bool = true; console.log(typeof bool === "boolean"); // 輸出 true console.log(bool instanceof Boolean); // 輸出 false console.log(Object.prototype.toString.call(bool)); // 輸出 "[object Boolean]" console.log(bool.constructor === Boolean); // 輸出 true var arr = []; console.log(typeof arr === "object"); // 輸出 true console.log(arr instanceof Array); // 輸出 true console.log(Object.prototype.toString.call(arr)); // 輸出 "[object Array]" console.log(arr.constructor === Array); // 輸出 true var obj = {}; console.log(typeof obj === "object"); // 輸出 true console.log(obj instanceof Object); // 輸出 true console.log(Object.prototype.toString.call(obj)); // 輸出 "[object Object]" console.log(obj.constructor === Object); // 輸出 true var fn = function(){}; console.log(typeof fn === "function"); // 輸出 true console.log(fn instanceof Function); // 輸出 true console.log(Object.prototype.toString.call(fn)); // 輸出 "[object Function]" console.log(fn.constructor === Function); // 輸出 true
八、怎樣檢測數據類型
在JS中,我們可以使用多種方式來檢測一個值的數據類型,如 typeof、instanceof、Object.prototype.toString.call()等。
對於基本數據類型,可以使用typeof或者isNaN方法來檢測其數據類型;對於引用類型如數組和對象,可以使用instanceof、Object.prototype.toString.call()或者constructor方法來進行判斷。
原創文章,作者:PTANB,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/371706.html