题目
- JS中使用typeof能得到哪些类型
- 何时使用=== 何时使用==
- JS中有哪些内置函数
- JS变量按照存储方式区分为哪些类型,并描述其特点
- 如何理解JSON
知识点
变量类型
- 值类型
var a = 100;
var b = a;
a = 200;
console.log(b); //100
变量存储对应的值,不相互影响
- 引用类型
var a = {age:20};
var b = a;
b.age = 21;
console.log(a.age); //21
- 变量存储对应的指针,若指向的数据被修改,则所有变量输出的数据都被修改
- 引用类型主要包括数组、对象、函数三种数据类型
- 引用类型的特点是可以无限制添加属性,为了节省空间,所以采用存储指针的方式
typeof
运算符
typeof undefined; //undefined
typeof 'abc'; //string
typeof 123; //number
typeof true; //boolean
typeof {}; //object
typeof []; //object
typeof null //object
typeof console.log //function
typeof只能区分值类型的具体类型,无法区分引用类型的具体类型,只能区分出对象和函数
变量计算
- 强制类型转换
- 字符串拼接
var a = 100 + 10; //110 var b = 100 + '10'; //'10010'
==
运算符
100 == '100'; //true 0 == ''; //true null = undefined; //true
if
语句
var a = true; //循环体执行 if(a){ //... } //循环体执行 var b = 100; if(b){ //... } //循环体不执行 var c = '';{ //... }
- 逻辑运算
console.log(10 && 0); //0 console.log('' || 'abc'); //'abc' console.log(!window.abc) //true //判断一个变量是true还是false var a = 100; console.log(!!a);
题目解答
- JS中使用typeof能得到哪些类型
undefined、string、number、boolean、object、function
- 何时使用=== 何时使用==
if(obj.a == null){
//这里相当于 obj.a ===null || obj.a === undefined 的简写
//这是jQuery源码中推荐的写法
}
除了以上代码所示情况,都使用===,避免强制类型转换
- JS中有哪些内置函数
数据封装类对象
- Object
- Array
- Boolean
- Number
- String
- Function
- Date
- RegExp
- Error
- JS变量按照存储方式区分为哪些类型,并描述其特点
按存储类型分为值类型和引用类型,值类型分块存在内存,引用类型共用一个内存块,达到节省空间的目的
- 如何理解JSON
JSON是一个内置对象,同时也是一种数据格式,作为对象JSON有两个API
JSON.stringify({a:10,b:20}); //把对象转换成字符串
JSON.parse('{"a":10,"b":20}'); //把字符串转化成对象