实例案例
首先我先来看面试中常见的几道题:
1、js中使用typeof 能得到那种类型?
2、何时使用 === 何时使用 ==?
3、js中有哪些内置函数?
4、js变量按储存方式区分为哪些类型 并描述其特点?
5、如何理解json?
现在先想想怎么回答这几题。
按储存类型分的两种数据类型
值类型
// 变量
// 变量计算
// 值类型 vs 引用类型
// typeof运算符详解
// 值类型
vara=100;
varb=a;
a=200;
console.log(b);// 100
// 引用类型
// a 保存的 这个对象的指针 这个指针指向的是这个对象的指针
// 把a付给 b 也吧这个指针指向b
// 引用类型 对象 数组 函数
// 引用类型特点 无限制扩充属性
vara={
age:20
};
varb=a;
b.age=21;
console.log(a.age);//21
typeof能得到几种类型的值
// typeof能得到什么值
// string number boolean undefined object function
// typeof 只能区分值类型的详细类型
console.log(typeof undefined) // undefined
console.log(typeof 'abc') // string
console.log(typeof 123) // number
console.log(typeof true) // boolean
console.log(typeof {}) // object
console.log(typeof []) //object
console.log(typeof undefined) //object
console.log(typeof null) //object
console.log(typeof console.log) // function
变量类型计算
// 变量计算
// 强制类型转换
// 强制类型转换的情况
// 字符串拼接 == 运算符 if语句 逻辑运算
// 字符串拼接
var a = 100 + 10; // 110
var b = 100 + '10'; // '10010' 转换成 string类型
console.log(a,b);
// == 运算符
console.log(100 == '100');// true
console.log(0 == '') //true
console.log(null == undefined); // true
// if语句
var c = '';
if(c){ // 转换成false
console.log('true')
}
// 逻辑运算符
console.log(10 && 0);// 0 10转换成true
console.log('' && 10);
console.log(false && 10);
console.log('' || 'abc');//abc ''转换成false
console.log('abc' || '')
console.log(!window.abc) //true
console.log(true || '123');
console.log(false || '123');
var a = 100;
console.log(!!a); //true
现在我们解决开头那几题
// js中使用typeof 能得到那种类型
// 何时使用 === 何时使用 ==
// 答:if(obj.a == null) 这里相当于 obj. == null || obj.a = undefined 简写形式
// 这里也是jquery源码中推荐的写法
// js中有哪些内置函数
// Object Array Boolean Number String Function Date RegExp Error
// js变量按储存方式区分为哪些类型 并描述其特点
// 值类型和引用类型 值类型可以分块存储在内存空间
// 引用类型只存储在一个内存块中
// 如何理解json
// JSON只不过是一个js对象而已
// JSON.stringify({a:10,b:20})
// JSON.parse('{"a":10,"b":20}')
console.log(JSON.stringify({a:10,b:20}))
console.log(JSON.parse('{"a":10,"b":20}'))
网友评论