1

1.数据类型

ECMAScript定义了6种数据类型,包括:

  • 基本数据类型:Undefined、Null、Boolean、Number、String;
  • 复杂数据类型:Object;

2.typeof操作符

typeof操作符可区分值类型,对于引用数据类型无法区分(只能区分出引用类型中的function)。

  • 'undefined',如果这个值未定义;
  • 'boolean',如果这个值是布尔值;
  • 'string',如果这个值是字符串;
  • 'number',如果这个值是数值;
  • 'object',如果这个值是对象或者null;
  • 'function',如果这个值是函数;

*判断一个对象(引用类型)是否为数组:arr instanceof Array,返回true、false。

typeof undefined;//undefined
typeof 'abc';//string
typeof 123;//number
typeof true;//boolean
typeof {};//object
typeof [];//object
typeof null;//object
typeof console.log;//function

3.值类型与引用类型

  • 值类型(Number,String,Boolean,Undefined)
  • 引用类型(Object,Array,Function)
//值类型(Number,String,Boolean,Undefined)
var a = 100;
var b = a;
a = 200;
console.log(a);//200
console.log(b);//100

//引用类型(Object,Array,Function)
var a = {age:20};
var b = a;
b.age = 21;
console.log(a.age);//21
console.log(b.age);//21

4.类型转换

  • 字符串拼接
  • == 运算符
  • if 语句
  • 逻辑运算
//1.字符串拼接
var a = 100 + 10;//110
var b = 100 + '10';//10010

//2.== 运算符
100 == '100'; //true
0 == '';//true
null == undefined;//true

0 === '';//false
null === undefined;//false

//3.if 语句
var a = true;if(a){}
var b = 100;if(b){}
var c = '';if(c){}

//4.逻辑运算符
console.log(10&&0);//0
console.log(''||'abc');//'abc'
console.log(!window.abc);//true

//判断一个变量会被当做true还是false
var a = 100;
console.log(!!a);

5.区分 === 和 ==

==会发生类型转换,===没有类型转换。

if(obj.a == null){
    //这里相当于判断了obj.a === null || obj.a === undefined;简写形式
    //这是 jquery 源码中推荐的写法
}

6.JS中的内置函数

  • Object
  • Array
  • Boolean
  • Number
  • String
  • Function
  • Date
  • RegExp
  • Error

7.JS 中的内置对象

  • Math
  • JSON

8.如何理解JSON

JSON是一种数据格式,也是一个 JS 对象,有以下两个API。

  • JSON.stringify({a:10,b:20}) //把对象转为字符串
  • JSON.parse('{"a":10,"b":20}') //把字符串转为对象
技巧:
可将if语句转换为false的有if(0){}、if(NaN){}、if(''){}、if(null){}、if(undefined){}、if(false){}

stefanieliang
190 声望19 粉丝

一天一笔记~