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
){}