識別符號,資料型別,算數運算子
識別符號
JS中自主命名的都稱為識別符號;變數名、函式名、屬性名等……
遵守規則:
1、可以含有字母、數字、_ 、$
2、不能數字開頭
3、不能是關鍵字(var)或保留字(class)
4、一般採用駝峰命名法——首字母小寫,每個單詞的開頭字母大寫 helloWorld
資料型別——字面量的型別
var——宣告一次後面無需再次宣告
六種資料型別:String、Number、Boolean、Null、Undefined,Object。
String(基本資料型別)
——單引號、雙引號都可,不能混用;轉義時 \" → ", \' → ', \n→換行, \t→製表符(相當於tab),\\→\
Number(同上)
——typeof 變數 ,檢查變數型別;Number.MAX_VALUE;
Infinity 正無窮;NaN not a number;計算精度較低,如0.1+0.2=0.3000004;
Boolean(..)
Null(..)null空的物件;
var a = undefined;
console.log(typeof a); //a變數型別為object
Undefined(..)未定義,宣告變數不賦值,變數值為undefined
Object(引用資料型別)
強制型別轉換:String、Number、Boolean
其他轉String:
1、呼叫被轉換資料型別的toString()方法
var a = 123;
a.toString();
console.log(typeof a); //輸出結果為number;因為該方法不會影響原變數,只會將轉換的結果返回。
var b = a.toString();
console.log(typeof b); //此時b的輸出型別為string
a = a.toString();
console.log(typeof a); //輸出為string
null和undefined沒有toString方法
2、呼叫String方法,將被轉換的資料作為引數傳遞給函式
var a = 123;
a = String(a);
console.log(typeof a); //輸出string
var a = undefined;
a = String(a);
console.log(typeof a); //返回string
var a = null;
a = String(a);
console.log(typeof a); //返回string
String()方法包含undefined和null,將null直接轉換為”null“
其他轉Number:
1、呼叫Number()函式,和String()方法相同
var a = "123";
a = Number(a);
console.log(a);
如果是純數字的字串,直接轉換為數字
如果是含字母的字串或者undefined,返回NaN
如果是空串或null或false,返回0
如果是true,返回1
var a = "123pb";
a = parseInt(a); //parseInt()將字串的有效整數內容取出來轉為number
console.log(a); //parseFloat()取有效的小數內容
若對非string(如true)使用parseInt(),先轉為字串,在取有效內容
其他進位制數字:
0x: 16 進位制開頭 ;0x10=16
0: 8進位制開頭 ; 070=8
0b:2進位制開頭; 0b10=2
a = "070";
//<!-- 可以在parseInt()傳遞第二個引數,來指定數字的進位制 -->
a = parseInt(a,8);
console.log(a);
a = 56;
其他轉Boolean:使用Boolean函式
物件、字串、數字轉Boolean,true;
0、Null、NaN、Undefined、空串是false。
算數運算子:運算子也叫操作符
typeof 獲得值的型別,以字串的形式返回
運算子不會改變源變數,對非Number型別的值進行運算時,先將其轉換為Number然後運算
2+Null=2;
任何值和字串相加結果都是字串,值先轉為字串,再加號拼串。
除此之外,任何值和字串相減、相乘、相除,都是字串轉為值。
123+“1”=“1231”;123+“”=“123”
a = 1+2+"3";
console.log(a);
a=33; //先執行1+2=3,在執行3+“3”
取模運算:
9%5=4;
一元運算子:+ -
對於非Number型別,先轉換為NUmber,再進行運算。
a=+"6";
a=6;
自增:a++
自減:a--