2.1 變量和痛苦
讓我們從最有趣的開始。JavaScript 有變量,但這些變量沒有類型。任何變量都可以絕對分配任何值。在您需要類型之前看起來無害甚至方便。
關鍵字用於聲明變量var
:
var name;
var name = value;
在 JavaScript 中使用變量的示例:
var a = 10, b = 20;
var c = a*a + b*b;
var s = "Diagonal equals:";
console.log( s + Math.sqrt(c));
偉大而清晰的代碼,不是嗎?也許這是你生命中最後一次看到漂亮易懂的 JavaScript 代碼。記住這一刻:)
2.2 在 JavaScript 中輸入
如上所述,JavaScript 語言中的變量沒有類型。但是變量的值是有類型的。以下是 JavaScript 中最常見的 5 種類型:
# | 類型 | 例子 | 描述 |
---|---|---|---|
1個 | 數字 |
|
包含任意數字 |
2個 | 細繩 |
|
包含一個字符串 |
3個 | 布爾值 |
|
包含 true 或 false |
4個 | 大批 |
|
包含元素數組 |
5個 | 日期 |
|
包含日期 |
6個 | 目的 |
|
包含一個由鍵值對組成的對象。類似於 Java 中的 HashMap 的東西 |
7 | 功能 |
|
功能 |
typeof 關鍵字用於判斷對象的類型,例如:
var s = "134";
var x = (typeof s == "String") ? s*1 : s;
2.3 功能與回報
當然,JavaScript 也有函數。沒有類,因此可以在代碼的任何位置聲明函數。甚至在其他功能中。一般格式為:
function name(a, b, c) {
// function code
return result;
}
該函數沒有類型。為什麼,如果語言本身沒有類型兼容性控制?函數參數也可能丟失。return 命令也是如此,它返回一個值。
調用函數時,可以傳遞任意數量、任意類型的參數。多餘的將被丟棄,缺少的將被相等null
。
函數示例:
function getValue(name)
{
return this[name];
}
function setValue(name, value)
{
this[name] = value;
}
2.4 JavaScript 中的數組
JavaScript 中的數組與 Java 中的數組非常相似。例子:
var array = [1, 2, 3, 4, 5];
array[3] = array[2];
console.log (array[0]);
它們可以有任何類型的值,甚至是其他數組:
var array = [1, "Hello", 3.14, [4, 5] ];
array[3] = array[2];
console.log (array[0]);
此外,數組的行為也像集合——您可以動態地向它們添加元素:
var array = [];
array.push(100);
array.push(101);
array.push(102);
array[1] = array[2];
console.log (array[0]);
2.5 JavaScript 中的對象
JavaScript 中的對象與 Java 中的 HashMap 非常相似:它們包含鍵值對。例子:
var obj = {
name: "Bill Gates",
age: 67,
company: "Microsoft"
};
console.log (obj.age);
可以通過兩種不同的方式訪問對象字段:
var x = obj.age;
var x = obj["age"];
與 HashMap 一樣,可以創建和刪除字段。例子:
var obj = {};
obj.name = "Bill Gates";
obj.age = 67;
obj.company = "Microsoft";
delete obj.age; //remove field
GO TO FULL VERSION