【前端面试】数据类型与类型检测
1、在JS中有哪些数据类型?
(1)JavaScript中的数据类型有6种:
基础数据类型5种:Boolean、String、Number、undefined、null
复杂数据类型1种:Object
(2)在ES6中,新增了一种symbol类型,表示独一无二的值。并且symbol类型在初始化的时候不需要使用new操作符。
2、如何对数据类型进行判断?
对于普通的数据类型来说,使用typeof来进行判断,数据类型有6种,typeof的返回的值也有6种(在es6中是7种,包括symbol类型的返回值),但是在typeof的返回值里面,null和Object返回的都是Object,而其余的都是对应的字符串,包括function。
3、如何对Object类型进行判断?
(1)使用instanceof判断;
(2)使用原型链上的constructor判断;
注意:当我们的页面中存在多个frame,并且我们的判断是在两个iframe之间的时候,就很有可能出现问题了。由于每个iframe都属于自己的window对象,跨frame实例化的对象彼此是不共享原型链的,因此导致上述检测代码失效。
(3)使用Array.isArray() 方法判断;
注意:不支持IE8之前的版本
(4)使用Object.prototype.toString.call()方法判断
说明:普通对象直接调用了顶级原型Object上的toString方法, 而数组、函数以及这些基本包装对象它们继承了Obejct的同时, 重写了一些方法,在查找toString方法的时候,一定是自己原型链上的方法优先被找到,所以我们就需要利用call调用顶级原型Object.prototype上的toString方法。
关于Object.prototype.toString()方法,这里有一篇不错的文章:
JavaScript类型检查与内部属性[[Class]]
转载于:https://juejin.im/post/5b7f5c2a51882543094b2a2c
【前端面试】数据类型与类型检测相关推荐
- JavaScript基本数据类型及类型检测
数据类型 原始值 Boolean String Number Null Undefined Symbol BigInt 引用数据类型 对象 < Object Function Date RegE ...
- 前端 javascript 数据类型 布尔类型
python 是大写 True javascript 是小写 true false 也是 布尔类型仅包含真假,与Python不同的是其首字母小写. == 比较值相等 != 不等于 ...
- 前端面试 - JS总结(1) - 基础 (数据类型, 事件与函数, 原型链)
你不走出舒适圈,又怎么知道自己多坚强?! 前端面试 - JS总结(1) - 基础 (数据类型, 事件与函数, 原型链) 前端面试 - JS总结(2) - ES6 (let, 箭头函数, this) 前 ...
- 数据类型 类型检测
原始类型: 基本类型:number string boolean null undifined object object分为 Function Array Date number string bo ...
- 校招社招必备核心前端面试问题与详细解答
本文总结了前端老司机经常问题的一些问题并结合个人总结给出了比较详尽的答案.网易阿里腾讯校招社招必备知识点. 原理讲解参考:前端增长-重新定义大前端 在线课程:网易云课堂课程 思否课堂 官方博 ...
- 前端面试技巧和注意事项_前端面试百分之九十九过的技巧
2020最全的前端面试指南,一个多月 1.8w 字的面试经验积累,凭借它最终成功入职大厂-- 今年的金三银四刚好赶上疫情,很多大公司都停止招聘甚至裁员,想跳槽的小伙伴被打的措手不及. 需求减少要求肯定 ...
- web前端面试总结(自认为还算全面哈哈哈哈哈!!!!)
web前端面试总结(自认为还算全面哈哈哈哈哈!!!!) 一.CSS问题 1.flex布局 display:flex; 在父元素设置,子元素受弹性盒影响,默认排成一行,如果超出一行,按比例压缩 flex ...
- 前端面试总结以及面试题
前沿 小编在这几年的前端开发过程中,经历了由js,jquery到vue,由操作dom到数据驱动页面,由只写pc网站,到写移动端网页,再到移动端app,再到微信公众号,小程序,可谓是风云变幻,不得不感叹 ...
- 17张思维导图,2021年作为一名前端开发者需要掌握这些,前端面试复习资料参考大纲
本文首发于17张思维导图,2021年作为一名前端开发者需要掌握这些,前端面试复习资料参考大纲,转载请联系作者 前言 2020年最后一个月了,熬夜多天整理出17张思维导图,对前端面试复习知识点进行了最全 ...
最新文章
- 英特尔变身数据公司 未来最大数据市场定是中国
- Vivado如何计算关键路径的建立时间裕量?(实践篇)
- win10不能访问局域网共享
- 无法更改密码的解决办法--passwd: User not known
- boost::hana::just用法的测试程序
- PHP连接sql seaver数据库
- HTML 表单和输入
- 高级JAVA - 利用函数式接口实现通用的取并集/交集/差集
- 大数据之-Hadoop3.x_MapReduce_全排序案例---大数据之hadoop3.x工作笔记0115
- Docker系列一之基础快速入门企业实战
- 在Linux下查看系统版本信息命令总结
- 关于微信公众号音频批量爬虫
- win10分辨率不能调整_win10常规问题解决方案
- css3 文字竖排英文及数字竖排文字方向问题文字竖排字间距问题
- 服务器winsxs文件夹怎么清理工具,Winsxs文件夹内容怎么清理 Winsxs文件夹瘦身清理教程图解...
- AUBO E系列教育科研型机器人QA--持续更新中
- JAVA子类作为实参父类作为形参_java 多态 实参形参
- ​​​LabVIEW视觉软件使用什么算法
- TBase数据库开源后重磅升级,复杂查询性能最高提升十倍
- 手把手教你静态代码检查工具TscanCode安装与使用