数据类型运算符及流程控制语句

1. JavaScript 定义了几种数据类型? 哪些是原始类型?哪些是复杂类型?原始类型和复杂类型的区别是什么?

字符串,布尔值,数字,对象(object)
原始类型:字符串,布尔值,数字
复杂类型:对象(其中对象里还能分为狭义的对象object,数组arry,函数function,正则表达式regexp,null和undefined是两个特殊值)
区别:原始类型一般由字符串,数字,布尔值组成,而复杂类型一般会是多个原始类型的封装

2. typeof和instanceof的作用和区别?

  • typeof:可以返回数据的数据类型。比如:数字number,字符串string,对象object,布尔值boolean,函数function,undefined会返回undefined,其他的会返回object
  • instanceof:可以用于判断数组和对象,因为typeof对数组和对象都会返回object因此用instanceof可以判断数组和对象,会返回true或者false

3. 如何把非数字转换为数值?

  • parseInt()
  • number()
  • parseFloat()

4. == 和 === 有什么区别?

  • 在使用 === 时两边值相等并且数据类型相等时,即完全相等时才会返回true
  • 在使用 == 时两边比较的要求会有所降低,具体如下:
    如果类型不同时 null 和 undefined 相等
    在数字和字符串比较时,会把字符串转换成数字进行比较
    如果是true和false 会转换成1和0 进行比较
    如果一个是对象 一个是数字或者字符串 则使用valueof和tostring进行比较
    除了以上的情况,只要数据类型不一样就不会相等了

5. break与continue有什么区别?

在使用break时,遇到break后会跳出循环体不再进行函数循环
`for(var i = 1; i< 10; i++){
if(i % 4 === 0){
break;
}
console.log(i);
}`
在使用continue时,遇到continue后会跳过当前循环阶段进入下一个循环阶段
for(var i = 1; i< 10; i++){
`if(i % 4 === 0){
continue;
}
console.log(i);
}
显示1235679 到4和8时跳过继续循环`

6. void 0 和 undefined在使用场景上有什么区别?

void 0 会返回undefined
另外有时候undefined可以赋值
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容