JavaScript面试技巧(基础部分)
1.JS中使用typeof能得到哪些类型?
值类型和引用类型
1 //值类型 2 var a = 100; 3 var b = a; 4 a = 200; 5 console.log(b) //100 6 7 //引用类型 8 var a = {age:20}; 9 var b = a; 10 b.age = 21; 11 console.log(a.age) //21 a,b同时指向21
typeof运算符----值类型(只能区分值类型的详细类型)
typeof undefined //undefined
typeof 'abc' //string
typeof 123 //number
typeof true //boolean
typeof运算符----引用类型(只能区分出来函数)
typeof { } //object
typeof [ ] //object
typeof null //object
typeof console.log //function
如果JS按存储方式区分变量类型分为哪些类型,并描述存储方法?
分为值类型和引用类型。值类型是把数都分块儿存到内存中;而引用类型是多个变量共用一个内存块儿,这是为了节省空间才这么做的。它们最大的区别就是值类型赋值之后不会互相干涉;而引用类型赋值后是一个变量指针的赋值,值的修改是互相干涉的。
2.何时使用“===”,何时使用“==”?
变量计算的强制类型转换包括四种情况:字符串拼接、==运算符、if语句、逻辑运算。
其中if语句如:var a = ' ';
if(a) {
//如果声明变量的值为0,' ',NaN,null,false,undefined都会强制转换为false
}
那么什么时候用“==”’什么时候用“===”呢?
1 if (obj.a == null) {//或 obj.a == undefined时用"==",其他时候都用"===" 2 //这里相当于obj.a === null || obj.a === undefined简写形式 3 //这里的写法是jQuery源码中推荐的写法(面试时要把这个说出来) 4 }
3.JS中有哪些内置函数?
Object Array Boolean Number String Function Date RegExp Error
4.如何理解JSON?
JSON 只不过是一个JS对象而已 也是一个数据格式, 常用的只有两个
JSON.stringify({a:10, b:20}) //把对象变成字符串
JSON.parse('{"a":10, "b":20}') //把字符串变成对象

浙公网安备 33010602011771号