JS判断数据类型

本文深入解析JavaScript中的数据类型,包括基本类型如字符串、数字、布尔值等,以及引用类型如对象、数组、函数。同时,文章详细介绍了如何使用typeof、instanceof、constructor和Object.prototype.toString.call()等方法来判断变量的数据类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>判断数据类型</title>
</head>
<body>

</body>
<script>
    // JS数据类型:String、Number、Boolean、Undefined、Null、Array、Object、Function、Symbol;
    // 值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。
    // 引用数据类型:对象(Object)、数组(Array)、函数(Function)。
    // 注:Symbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值。

    let str = '1';
    let sir= String('1')
    let num = 1;
    let nums=Number(1)
    let boo = true;
    let un=undefined;
    let nul=null;
    let sym = Symbol('only')
    let arr = [1, 2, 3];
    let obj = {name: 'little cute', age: 25}
    let fun = function () {};



    //typeof 类型

    console.log(typeof str);//string
    console.log(typeof sir);//string
    console.log(typeof num);//number
    console.log(typeof nums);//number
    console.log(typeof boo);//boolean
    console.log(typeof un);//undefined
    console.log(typeof nul);//object
    console.log(typeof sym);//symbol
    console.log(typeof arr);//object
    console.log(typeof obj);//object
    console.log(typeof fun);//function



    //instanceof 实例

    console.log(str instanceof String)//false
    console.log(sir instanceof String)//false
    console.log(num instanceof Number)//false
    console.log(nums instanceof Number)//false
    console.log(boo instanceof Boolean)//false
    console.log(boo instanceof Boolean)//false
    console.log(sym instanceof Symbol)//false

    console.log(arr instanceof Array)//true
    console.log(obj instanceof Object)//true
    console.log(fun instanceof Function)//true


    //constructor 构造器
    console.log(str.constructor===String)//true
    console.log(sir.constructor===String)//true
    console.log(num.constructor===Number)//true
    console.log(nums.constructor===Number)//true
    console.log(boo.constructor===Boolean)//true
    console.log(sym.constructor===Symbol)//true
    console.log(arr.constructor===Array)//true
    console.log(obj.constructor===Object)//true



    //Object.prototype.toString.call()   对象的原型

    console.log(Object.prototype.toString.call(str))//[object String]
    console.log(Object.prototype.toString.call(num))//[object Number]
    console.log(Object.prototype.toString.call(boo))//[object Boolean]
    console.log(Object.prototype.toString.call(un))//[object Undefined]
    console.log(Object.prototype.toString.call(nul))//[object Null]
    console.log(Object.prototype.toString.call(sym))//[object Symbol]
    console.log(Object.prototype.toString.call(arr))//[object Array]
    console.log(Object.prototype.toString.call(obj))//[object Object]
    console.log(Object.prototype.toString.call(fun))//[object Function]
</script>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值