第二篇筆記的內容主要涉及:數據類型轉換,函數、對象、數組的建立以及null與undefined的比較。 javascript
1. javascript中類型轉換的方法: java
(1)數字-->字符串: 數組
- number+" ";
- String(number);
- number.toString(n); //n爲2表明轉爲二進制,n爲8表明轉爲八進制,默認是十進制
- number.toFixed(n); //將數字轉換爲字符串且顯示小數點後n位
- number.toExponential(n); //使用指數表示法把數字轉換爲字符串,小數點前1位,小數點後n位
- number.toPrecision(n); //使用指定的有意義的n位來顯示一個數字
(2)字符串-->數字: ide
- str-0;
- Number(str);
- parseInt(str); //沒法轉換時返回NaN
- parseFloat(str); //沒法轉換時返回NaN
(3)其餘類型-->布爾型: 函數
- Boolean(x);
- var x_as_boolean = !!x; //由於!運算符會先把它的運算數轉換爲一個布爾類型的值,而後再計算求非
2. javascript中的函數定義: spa
在許多語言中,函數都只是語言的語法特性,能夠被定義、調用,卻不是數據類型。而javascript中的函數是真正的數值,能夠被存儲在變量、數組和對象中,還可做爲參數傳遞給其餘函數。當一個函數賦給某個對象的屬性時,它常被看成那個對象的方法來引用。 .net
3. javascript中函數的建立方法: 對象
- 常規作法:function square(x) { return x*x; }
- 函數直接量(lambda函數):
- var square = function(x) { return x*x; }; //匿名函數
- var f = function fact(x) { if(x<=1) return 1; else return x*fact(x-1);}; //指定函數名,用於遞歸
- f[0] = function(x) { return x*x; }; //定義並存儲函數到一個數組中
- a.sort(function(a,b) { return a-b; }); //定義函數並將其做爲參數傳給另外一個函數
- var tensquared = (function(x) { return x*x; })(10); //定義並調用函數
- 用構造函數定義:var square = new Function("x", "return x*x");
4. javascript中對象的建立方法: blog
- 用構造函數定義:var o = new Object();
- 對象直接量:
- var point = {x:2.3, y:-1.2};
- var empty = {};
- var rectangle = { upperLeft: {x:2, y:2}, "lowerRight":{x:(point.x+side), y:point.y} };
5. javascript中數組的建立方法: 遞歸
- 用構造函數定義:
- var a = new Array(); a[0] = 1.2; a[1] = "js";
- var a = new Array(1.2, "js");
- var a = new Array(2); //數組長度爲2
- 數組直接量:
- var a = [1.2, "js"]; //js是一種非類型語言,因此其數組元素沒必要具備相同的類型
- var empty = [];
- var matrix = [[1, 2, 3], [4, 5, 6]]; //嵌套(js不支持多維數組,但數組元素能夠是數組)
- var base = 1024; var table = [base, base+1]; //變量作數組中的元素
- var sparseArray = [1, , , ,5]; //數組中存放未定義元素
6. null與undefined的區別:
(1)null是js的保留字(關鍵字),undefined則是ECMAScript V3中的全局變量,其初始值爲undefined。
(2)null是對象類型的特殊值(「無對象」),它不是有效的對象、數組、數字、字符串和布爾值。
undefined則有三種情形:
- 使用了一個並未聲明的變量
- 使用了一個已經聲明但未賦值的變量
- 使用了一個並不存在的對象屬性
(3)使用==判斷時,null和undefined兩值相等。要區分它們須要使用===或者typeof。
(4)用var聲明的變量,若未賦值則初始值是undefined。
下一篇連接:《JavaScript權威指南》筆記(三)
上一篇連接:《JavaScript權威指南》筆記(一)