關鍵字與保留字:
關鍵字:
break、else、new、var、case、finally、return、void、catch、for、switch、while、continue、function、this、with、default、if、throw、delete、in、try、do、instanceof、typeof
保留字:
abstract、enum、int short、boolean、export、interface、static、byte、extends、long、super、char、final、native、synchronized、class、float、package、throws、const、goto、private、transient、debugger、implements、protected、volatile、double、import、public
基本文法
JavaScript嚴格區分大小寫
弱類型,聲明變量用var(無論什麼類型變量都用var聲明)
每條語句後加分号。(不是必須,但建議加上。)
字元串使用單引号’abc’。(雙引号也行。推薦;html→雙引号,js→單引号)
注釋:
當某些浏覽器不支援JavaScript的時候,把标簽中的内容注釋掉,這樣就不會顯示在浏覽器上了。用IE1.5可以測試出效果。現在基本可以不考慮這個問題了。
//單行注釋
/* 多行注釋 */
是html的注釋,不是javascript的注釋,可以用來注釋:
在标簽裡面使用是什麼意思?
JavaScript資料類型
共六種:
Boolean(布爾)、Number(數字)、String(字元串)、Undefined(未定義)、Null(空對象)、Object(對象類型)
除了Object是引用類型以外,其他都是基本資料類型
Undefined類型、Null類型都是隻有一個值的資料類型,分别為undefined與null.
基本類型與引用類型的差別
數值,布爾值,null,undefined屬于基本類型。對象,數組和函數屬于引用類型。基本類型在記憶體具有固定的大小。一個數值在記憶體占八個位元組,而一個布爾值使用一位可以表示了。引用類型沒有固定大小。
String也是基本類型,不能為String添加動态屬性,而引用類型是可以的。
JavaScript中的null和undefined差別?
聲明了但是沒有初始化的該變量,變量的值是一個未知狀态(undefined)。 (通路不存在的屬性或對象window.xxx)
方法沒有明确傳回值時,傳回值是一個undefined.
當對未聲明的變量應用typeof運算符時,顯示為undefined(*)
undefined,表示一個未知狀态
null表示尚未存在的對象,null是一個有特殊意義的值。可以為變量指派為null,此時變量的值為“已知狀态”(不是undefined),即null。(用來初始化變量,清除變量内容,釋放記憶體)
undefined==null //結果為true,但含義不同。
undefined===null //false(*),先判斷類型是否一緻,然後判斷值。
變量聲明:
聲明變量的時候無法:int i=0;隻能通過var i=0;聲明變量,和C#中的var不一樣,不是C#中那樣的類型推斷。
var test=“hello”;
var test1=“hello”,age=20;
var i=100; i=“hello”;
var i,n,x;
var i=10,n=100,s=‘aaa’,m;
變量命名規則:以字母、下劃線或$開頭,中間可以包括字母、數字、下劃線或$。(變量命名中多了一個$)
JavaScript中即可以使用雙引号聲明字元串,也可以使用單引号聲明字元串。主要是為了友善和html內建,避免轉義符的麻煩。
變量使用前可以不用var聲明,這樣的變量會變認為是“全局變量”(不推薦)
JavaScript是動态類型,是以var i=0;i=“abc”;是合法的。
例:
var i = 10; //聲明一個變量,名字為i,指向10這個整數,一旦指向10,i就是int類型了。
i = "abc";//嫁雞随雞嫁狗随狗!
var n1 = '20';
var n2 = '20';
//将字元串類型轉換成整型。
var result = parseInt(n1) + parseInt(n2);
alert(result);
JavaScript中判斷已聲明變量、參數是否初始化(可用)的方法:
假設已有變量x:
if (typeof(x) !=‘undefined’ && x!=null) { alert("可用"); }
if(x) { alert(‘變量可用!’); } else { alert(‘變量不可用!’); } //null、undefined、’’、0都認為是false
當x聲明但沒有指派,或x為null,或x為0時,都表示不可用!// if(x),傳回false
推薦用最後一種方法。但如果x有可能沒有聲明,則隻能用typeof判斷(否則會報錯)。
JavaScript變量的作用域
預設如果直接在script标簽中定義變量,則屬于“全局作用域範圍”(全局執行環境),即屬于window對象。
全局作用域範圍的變量直到網頁關閉或浏覽器關閉時才釋放資源
一個頁面中的多個