JavaScript基礎——變量類型和計算
q:JS中使用 typeof
的類型?
`undefined` `null` `boolean` `number` `string`
`object`
`對象` `數組` `函數`
typeof undefined; //undefined
typeof 'abc'; //string
typeof 123; //number
typeof true; //boolean
typeof {}; //object
typeof []; //object
typeof null; //object 引用類型
typeof console.log; //function
//typeof 只能區分基本類型,沒法區分對象、數組、null這三種引用類型
q:什麼時候使用 ===
什麼時候使用 ==
//字符串拼接類型轉換
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) {
//b=true
}
var c = '';
if (c) {
//c=false
}
//邏輯運算符
console.log(10 && 0) // 0
console.log('' || 'abc') // 'abc'
console.log(!window.abc) // true (當window.abc=undefined時)
// 判斷一個變量是被當作 `true` 仍是 `false`
var m = 100;
console.log(!m) //false
console.log(!!m) //true
// a:
if (obj.a == null) {
// 至關於obj.a=== null||obj.a=== undefined,簡寫形式
// 這是jquery源碼中推薦的寫法
// 其餘狀況所有使用 `===`
}
q:JS中有哪些 內置函數
-數據封裝類對象
Object
Array
Boolean
Number
String
Function
Date
RegExp
Error
q:JS按照 存儲方式
區分爲哪些類型,並描述其特色
//值類型
var a = 10;
b = a;
a = 11;
console.log(b) //10
//複製不會相互干預
** ** ** ** ** ** ** ** ** *
//引用類型
var obj1 = { x: 100 };
var obj2 = obj1;
obj1.x = 200;
console.log(obj2.x); //200
// 複製是引用類型的指針,會相互干預
q:如何理解 JSON
// JSON只不過是一個內置的JS對象而已
// JSON也是一種數據格式
JSON.stringify({ a: 100, b: 200 }); // "{"a":100,"b":200}"
JSON.parse('{"a":100,"b":200}'); // {a:100,b:200}