1,JavaScript 定义了几种数据类型? 哪些是原始类型?哪些是复杂类型?原始类型和复杂类型的区别是什么?
6种
1)数值(number),字符串(string),布尔值(boolean),undefine,null,对象(Object)
2)原始类型:数值,字符串,布尔值
3)复杂类型:对象:狭义的对象,数组,函数,正则表达式
4)复杂类型是有原始类型组成
2,typeof和instanceof的作用和区别?
区别一:
var a=[1,2];
typeof a;//object
a instanceof Array;//true
区别二:
typeof判断数据类型,直接输出数据的类型instanceof判断数据的类型是否等于描述的数据类型,输出 true或者false
3,如何判断一个变量是否是数字、字符串、布尔、函数
使用typeof很容易的输出要判断的数据是数字、字符串、布尔或函数
4,NaN是什么? 有什么特别之处?
1)NaN: not a number(非数字)
2)NaN和任何数据类型都不相等,包括自己
NaN===NaN;//false
5,如何把非数值转化为数值?
number()
parseInt()
parseFloat()
6,==与===有什么区别?
== 双等号:不严格相等 不判断类型,只判断值是否相等
===三等号:严格相等,类型和值完全相等
7,break与continue有什么区别
break:跳出循环,执行循环后面的语句continue:跳出本次循环,执行下一次循环
8,void 0 和 undefined在使用场景上有什么区别
undefined是全局对象的一个属性,因此给它赋值是不会报错的当某个地方把undefined赋值了,后面要利用undefined来判断某个变量是否是undefined的时候就不成立了,所以使用void 0来代替undefined。为什么用void 0来代替undefined呢,因为void后面无论跟一个什么表达式例如:void 1+2; void 2,它们的效果一样,返回值都是undefined ,更重要的是它不会被重写,而且不少压缩工具在压缩undefined的时候也是把undefined用void 0代替
综上所诉:void 0不会被重写返回值为undefined ,undefined会被重写返回值为undefined
9,
以次输出:
2
24
24
4
10
输出:
2
"number2"
11
输出:
4
12, 遍历数组,把数组里的打印数组每一项的平方
13,遍历 JSON, 打印里面的值
14, 以下代码输出结果是? 为什么
number2
运算步骤:
"number"+2||c>0
"number2"||c>0
"number2"||true
"number2"bb
运算步骤:
date=ture&&bb
date=bb
bbhaha
运算步骤:
data2=d=0||"haha"
data2=d="haha"
data2="haha"2
运算步骤:
x=1+(0,1);
x=1+1;
x=2
连接