继续Javascript面试总结~
1. Javascript中的基本数据类型有哪些?
Javascript中有五种基本类型,如下:
A. 数字。包括浮点数与整数,例如1,2,3.14。
B. 字符串。有任意数量字符组成的序号,如 ‘a’,’b’,’abc’等。
C. 布尔值。true或false。
D. undefined。当我们试图访问一个不存在的变量时,就会得到一个特殊值:undefined。除此之外,使用一个未初始化的变量也会如此,因为Javascript会自动将变量在初始化之前的值设定为undefined。
E. null。只包含一个值的特殊数据类型。通常指没有值、空值,不代表任何东西。null与undefined最大的不同在于,被赋予null的变量通常被认为是已经定义了的,只不过它不代表任何东西,null有时也可被视为对象。
注:不属于以上五种基本类型的非基本类型都会被认为是一个对象。null和undefined最大的不同在于,被赋予null的变量会被认为是已经定义了得,只不过它不代表任何东西。null和undefined在被转换为其他类型时,方法也存在一定的区别:
转换成数字:
>>>1*undefined NaN >>>1*null 0
转换成布尔值
>>>!undefined false >>>!!null false
转换成字符串
>>>""+null "null" >>>""+undefined undefined
2. typeof返回的数据类型有哪些?
共有 ”number”、”string”、”boolean”、”undefined”、”object”和”function”。
a. number。当我们将一个变量赋值为数字,并对其调用typeof操作符,控制台就会返回字符串”number”。
注:当一个数字以0开头时,表示八进制数;以0x开头时表示十六进制;特殊值Infinity表示超出了Javascript处理范围的数值,但仍然是一个数字,Infinity与其他任何操作数执行任何算术运算的结果,都是Infinity;NaN依然属于数字,只不过是一种特殊的数字,当我们在对一个数字执行某个操作失败时,就会得到一个NaN,NaN具有传染性,只要算术运算中存在一个NaN,整个运算就会失败。
b. string。一对双引号或单引号之间的任何值都会被视为一个字符串,在一个字符串上,typeof操作符就会返回“string”。如果引号之间没有任何东西,它所表示的依然是一个字符串(即空字符串)。将一个数字字符串用于算术运算中的操作数时,该字符串会在运算中被当作数字类型来使用(由于加法操作符的歧义性,这条规则不适用于加法运算)。
c. 布尔值。true,false可用于引号以外的人格地方,如果在引号内表示一个字符串。在进行逻辑转换时,空字符串、null、undefined、数字0、数字NaN、布尔值false这6个值将被转换成false,所以这6个值被统称为falsy值,其他值则被称为truthy。
d. undefined。对某个不存在的或者未经赋值的变量使用typeof时,就会返回“undefined”
e. object。对非基本类型使用typeof操作符时,就会返回“object”,如数组。
f. function。对某个函数使用typeof操作符时,就会返回“function”。
3. ”==”和”===”的区别
“==”相等运算符:当两个操作数相等时返回true,在该比较操作执行之前,两边的操作数会被自动转换为相同类型。
>>>1==1 true >>>1==2 false >>>1=='1' true
“===”等价运算符:当且仅当两个操作数的值和类型都向同事返回true。这种比较往往比较更可靠,因为其幕后不存在任何形式的类型转换。
>>>1==='1' false >>>1===1 true
面试总结之Javascript篇(二)
最新推荐文章于 2024-11-08 18:40:59 发布