[JS] 数据类型与特殊值的判断方法
由于JS是弱类型语言,判断一个变量的数据类型是一个很常见的需求。下面介绍一些常用的判断方法:
typeof操作符
typeof可以用来判断除了null的基本数据类型和function,其它引用数据类型都会返回object。
console.log(typeof "Hello"); // "string"
console.log(typeof 42); // "number"
console.log(typeof true); // "boolean"
console.log(typeof undefined); // "undefined"
console.log(typeof function(){}); // "function"console.log(typeof null); // "object" (这是一个历史遗留的bug)
console.log(typeof []); // "object"<blockquote>为什么typeof null会返回object ?
在JS的最初版本中,使用32位二进制表示栈中的变量,二进制的前三位为类型标识tag,当前三位都是0时,表示object类型。但是null被设计为32位二进制都是0,因此会被错误地识别为object类型。
由于这个错误影响范围很大,后期并没有被修复。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! 这个好,看起来很实用 谢谢楼主提供! 不错,里面软件多更新就更好了 过来提前占个楼 懂技术并乐意极积无私分享的人越来越少。珍惜 感谢,下载保存了 感谢分享,学习下。 这个好,看起来很实用 谢谢分享,试用一下 谢谢分享,试用一下 感谢分享,下载保存了,貌似很强大 东西不错很实用谢谢分享 感谢发布原创作品,程序园因你更精彩 感谢分享,下载保存了,貌似很强大 不错,里面软件多更新就更好了 感谢分享 这个好,看起来很实用 很好很强大我过来先占个楼 待编辑 感谢分享,学习下。
页:
[1]
2