數(shù)據(jù)類型
- typeof是一個(gè)操作符而不是函數(shù),因此例子中圓括號(hào)盡管可以使用励翼,但不是必須的。
- 只要在保存對(duì)象的變量還沒有真正保存對(duì)象,就應(yīng)該明確的讓該變量保存null
- NaN是一個(gè)特殊的數(shù)值,與任何值都不相等状土。
- 可以利用praseInt做進(jìn)制轉(zhuǎn)換器,parseInt(值伺糠,進(jìn)制)
- 如果字符串包含的是一個(gè)可解析為整數(shù)的數(shù)(沒有小數(shù)點(diǎn)蒙谓,或者小數(shù)點(diǎn)后都是零),parseFloat()會(huì)返回整數(shù)训桶。
- 字符串的特點(diǎn):字符一旦被創(chuàng)建累驮,它們的值就不能改變酣倾。要改變某個(gè)變量保存的字符串,首先要銷毀原來的字符串谤专,然后再用另一個(gè)包含新值的字符串填充該變量躁锡。
- null和undefined沒有toString()方法,但可以對(duì)其調(diào)String()方法
操作符
- --num和num--
--num變量的值是在語句被求值以前改變的(在計(jì)算機(jī)科學(xué)領(lǐng)域置侍,這種情況通常被稱作副作用)
var num1 = 2;
var num2 = 20;
var num3 = --num1 + num2;//等于21
var num4 = num1 + num2;//等于21
num--是在包含它們的語句被求值之后才執(zhí)行的映之。
var num1 = 2;
var num2 = 20;
var num3 = num1-- + num2;//等于22
var num4 = num1 + num2;//等于21
位操作符
- 按位非(~),返回?cái)?shù)值的反碼
- 按位與(&)蜡坊,0|1返回0
- 按位或(|)0|1返回1
布爾操作符
- 邏輯非(!)
- 邏輯與(&&)
邏輯非
操作屬于短路操作杠输,如果第一個(gè)操作能決定結(jié)果,就不會(huì)再對(duì)第二個(gè)操作數(shù)求值秕衙。
- 邏輯或(||)
加性操作符
var a = 5 - ture;//4,ture被轉(zhuǎn)換為1
var b = NaN - 1;//NaN
var c = 5-"";//5蠢甲,“”被轉(zhuǎn)化為0
var d = 5 - "2";//3,“2”被轉(zhuǎn)化為2
var e = 5 - null;//5,因?yàn)閚ull被轉(zhuǎn)換成0
關(guān)系操作符
var a = "a"<3;//false,因?yàn)椤癮”被轉(zhuǎn)換成了NaN
函數(shù)
在ECMAScript中的參數(shù)在內(nèi)部用一個(gè)數(shù)組arguments來表示的。arguments對(duì)象只是與數(shù)組類似(它并不是Array的實(shí)例),但可以用length屬性來確定傳遞進(jìn)來多少個(gè)參數(shù)灾梦。
我們可以利用參數(shù)的個(gè)數(shù)的不同而對(duì)函數(shù)執(zhí)行不同的操作峡钓。
所有的參數(shù)傳遞的都是值,不是引用若河。