javascript 查看变量类型

前言

  • 360极速浏览器: 12.0.1476.0 (正式版本) (32 位)
  • 修订版本: 47c49e5a5935cfffa348dcfa6c581f4394327ac8
  • 操作系统: Windows 10 OS Version 2004 (Build 19041.450)
  • JavaScript :V8 7.8.279.23
    注:使用命令 chrome://version/ 查看 JavaScript 版本

javascript的数据类型

Javascript的数据类型有:

  1. Number 数字类型
  2. String 字符串类型
  3. Boolean 布尔类型
  4. Function 函数
  5. Undefined 没有定义类型
  6. Object 对象
console.log(typeof 1); // number
console.log(typeof 3.14); // number
console.log(typeof 'abc'); // string
console.log(typeof "123"); // string
console.log(typeof true); // boolean
console.log(typeof undefined); // undefined
console.log(typeof function(){}); // function
console.log(typeof [1,2,3]); // object
console.log(typeof new Array()); // object
console.log(typeof new Date()); // object
console.log(typeof null); // object
console.log(typeof new Map()); // object
  • null 值是 object 类型

查看类型

typeof 无法区分 Object类型中的 Array、Date、Map等类型。
使用Object.prototype.toString可以解决此问题。

console.log(Object.prototype.toString.call(1)); //[object Number]
console.log(Object.prototype.toString.call(3.14)); //[object Number]
console.log(Object.prototype.toString.call('a')); //[object String]
console.log(Object.prototype.toString.call(true)); //[object Boolean]
console.log(Object.prototype.toString.call([1,2,3])); //[object Array]
console.log(Object.prototype.toString.call(null)); //[object Null]
console.log(Object.prototype.toString.call(undefined)); //[object Undefined]
console.log(Object.prototype.toString.call(function(){})); //[object Function]
console.log(Object.prototype.toString.call(new Array())); //[object Array]
console.log(Object.prototype.toString.call(Date)); //[object Function]
console.log(Object.prototype.toString.call(new Date())); //[object Date]
console.log(Object.prototype.toString.call(new Date().getYear())); //[object Number]
console.log(Object.prototype.toString.call(new Date().getYear)); //[object Function]
console.log(Object.prototype.toString.call({name:'zhangsan', age:18})); //[object Object]
console.log(Object.prototype.toString.call({name:'zhangsan', age:18}.name)); //[object String]
console.log(Object.prototype.toString.call(navigator)); //[object Navigator]

参考

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/toString
https://www.cnblogs.com/flyjs/archive/2012/02/20/2360504.html
https://www.jianshu.com/p/67e914ed9307
https://www.ucloud.cn/yun/102213.html
https://blog.csdn.net/qzw752890913/article/details/105553294
https://www.cnblogs.com/chenhongshuang/p/8762226.html

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值