【js基礎】之變量類型和計算

1.數據類型

ECMAScript定義了6種數據類型,包括:jquery

  • 基本數據類型: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.區分 === 和 ==

==會發生類型轉換,===沒有類型轉換。code

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){}
相關文章
相關標籤/搜索