1、使用Javascript
<script type="text/javascript">
document.writeln("hello");
</script>
2、使用語句
通常以分号結尾,但是不用分号也是可以的,加上了友善閱讀。
3、定義使用函數
function myFunc() {
document.writeln("this is a statement");
}
3.1 定義帶參數的函數
function myFunc(name, weather) {
document.writeln("this is a statement");
}
3.2 定義會傳回結果的函數
function myFunc(name) {
document.writeln("this is a statement");
return ("hello" + name);
}
4、使用變量和類型
定義變量使用var關鍵字,在定義的同時還可以指派,定義在函數中的變量為局部變量,直接script元素中定義的變量為全局變量。
4.1 使用基本類型
1)字元串類型
string類型的值可以用夾在一對雙引号或單引号之間的一串字元表示
2)布爾類型
boolean類型有兩個值:true和false。
3)數值類型
整數和浮點數(也稱實數)都用number類型表示
var pi = 3.14;
var day = 7;
var value = 0xFFFF;
4.2 建立對象
JavaScript支援對象的概念。有多種方法可以用來建立對象。
1)使用對象字面量
用對象字面量的方式可以一口氣定義一個對象及其屬性
var myData = {
name: "aa",
weather: "sunny"
};
2)将函數用做方法
對象可以添加屬性,也能添加函數。屬于一個對象的函數稱為其方法
var myData = {
name: "aa",
weather: "sunny",
print: function() {
document.writeln("hello");
}
};
4.3 使用對象
1)讀取和修改屬性值
對象最顯而易見的操作是讀取或修改屬性值。
var myData = {
name: "aa",
weather: "sunny",
print: function() {
document.writeln("hello");
}
};
myData.name = "joe";
myDate["weather"] = "rainint";
2)枚舉對象屬性
要枚舉對象屬性可以使用for. . .in語句。
var myData = {
name: "aa",
weather: "sunny",
print: function() {
document.writeln("hello");
}
};
for (var prop in myDate) {
document.writeln(prop);
}
3)增删屬性和方法
就算是用對象字面量生成的對象,也可以為其定義新屬性。
var myData = {
name: "aa",
weather: "sunny",
};
myData.day = "money"; //加屬性
myData.sayHello = function() { //加方法
document.writeln("hello");
}
delete myData.name; //删屬性
delete myData["weather"];//删屬性
delete myData.sayHello;//删方法
4)判斷對象是否有某個屬性
可以用in表達式判斷對象是否具有某個屬性。
var myData = {
name: "aa",
weather: "sunny",
};
var hasName = "name" in myData;
5、使用javascript運算符
運算符 | 說明 |
---|---|
++,– | 前置或後置自增自減 |
+,-,*,/,% | 加、減、乘、除、求餘 |
<,<=,>,>= | 小于、小于等于、大于、大于等于 |
==,!= | 相等和不相等 |
=,! | 等同和不等同 |
&&,|| | 邏輯與、邏輯或 |
= | 指派 |
+ | 字元串連接配接 |
?: | 字元串連接配接 |
5.1 相等和等同運算符
相等和等同運算符需要特别說明一下。相等運算符會嘗試将操作數轉換為同一類型以便判斷是否相等。隻要明白其工作方式,這就是一個很友善的特性。
從本質上講,相等運算符測試兩個值是否相等,不管其類型。如果想判斷值和類型是否都相同,那麼應該使用的是等同運算符(===,由三個等号組成。相等運算符是由兩個等号組成)。
5.2 顯式類型轉換
字元串連接配接運算符(+)比加法運算符(也是+)優先級更高。這可能會引起混亂,這是因為JavaScript在計算結果時會自動進行類型轉換,其結果未必跟預期一樣。
1)将數值轉換為字元串
如果想把多個數值類型變量作為字元串連接配接起來,可以用toString方法将數值轉換為字元串。
方法 | 說明 |
---|---|
toString() | 轉換成十進制 |
toString(2) | 轉換成2進制 |
toString(8) | 轉換成8進制 |
toString(16) | 轉換成16進制 |
toFixed(n) | 以小數點後有n位數字的形式表示實數 |
toExponential(n) | 以指數表示法表示數值。尾數的小數點前後分别有1位數字和n位數字 |
toPrecision(n) | 用n位有效數字表示數值,在必要的情況下使用指數表示法 |
2)将字元串轉換為數值
函數 | 說明 |
---|---|
Number(str) | 通過分析指定字元串,生成一個整數或實數值 |
parseInt(str) | 通過分析指定字元串,生成一個整數值 |
parseFloat(str) | 通過分析指定字元串,生成一個整數或實數值 |
6、使用數組
var myArray = new Array();
myArray[0] = 100;
myArray[1] = "adam";
6.1 使用數組字面量
6.2 讀取和修改數組内容
6.3 枚舉數組内容
for (var i = 0; i < myArray.length; i++) {
documeent.writeln(myArray[i]);
}
6.4 使用内置的數組和方法
方法 | 說明 | 傳回 |
---|---|---|
concat(otherArray) | 将數組和參數所指數組的内容合并為一個新數組。可指定多個數組 | 數組 |
join(separator) | 将所有數組元素連接配接為一個字元串。各元素内容用參數指定的字元分隔 | 字元串 |
pop() | 把數組當做棧使用,删除并傳回數組的最後一個元素 | 對象 |
push(item) | 把數組當做棧使用,将指定的資料添加到數組中 | void |
reverse() | 就地反轉數組元素的次序 | 數組 |
shift() | 類似pop,但操作的是數組的第一個元素 | 對象 |
slice(start,end) | 傳回一個子數組 | 數組 |
sort() | 就地對數組元素排序 | 數組 |
unshift(item) | 類似push,但新元素被插到數組的開頭位置 | void |
7、處理錯誤
JavaScript用try. …catch語句處理錯誤。一般不用操心錯誤處理方面的事。
try {
var myArray;
} catch(e) {
document.writeln("Error:" + e);
} finally {
document.writeln("statements");
}
Error對象:
屬性 | 說明 | 傳回 |
---|---|---|
message | 對錯誤條件的說明 | 字元串 |
name | 錯誤的名稱,預設為Error | 字元串 |
number | 該錯誤的錯誤代号(如果有的話) | 數值 |
8、比較undefined和null值
JavaScript中有兩個特殊值: undefined和null,在比較它們的時候需要留心。在讀取未指派的變量或試圖讀取對象沒有的屬性時得到的就是undefined值。
8.1 檢查變量或屬性是否為undefined或null
使用if語句和邏輯非運算符
if (!myData.city){ //如果變量或屬性為null或undefined,則轉換而得的布爾值為false;
}
8.2 區分null和undefined
在比較兩個值時,所用辦法應視需要而定。如果想同等對待undefined值和null值,那麼應該使用相等運算符(),讓JavaScript進行類型轉換。此時值為undefined的變量會被認為與值為null的變量相等。如果要區分null和undefined,則使用等同運算符(=)。
9、常用的javascript工具
9.1 使用javascript調試器
現代浏覽器都配備了精良的JavaScript調試器(或以插件的方式支援這一功能,如MozillaFirefox的插件Firebug )。它們可以用來設定斷點、探查錯誤和逐句執行腳本。在遇到腳本方面的問題時首先應該想到的就是向調試器求助。我喜歡的浏覽器是谷歌的Chrome,并能熟練應用其内置調試器。不過在碰到特别難纏的問題時,我會使用Firefox上的Firebug。這個調試器在對付複雜情況時顯得更為強大。
9.2 使用javascipt庫
jquery等