《JavaScript權威指南》筆記(二)

第二篇筆記的內容主要涉及:數據類型轉換,函數、對象、數組的建立以及null與undefined的比較。 javascript

1. javascript中類型轉換的方法java

(1)數字-->字符串: 數組

  1. number+" ";
  2. String(number);
  3. number.toString(n);         //n爲2表明轉爲二進制,n爲8表明轉爲八進制,默認是十進制
  4. number.toFixed(n);          //將數字轉換爲字符串且顯示小數點後n位
  5. number.toExponential(n); //使用指數表示法把數字轉換爲字符串,小數點前1位,小數點後n位
  6. number.toPrecision(n);    //使用指定的有意義的n位來顯示一個數字

(2)字符串-->數字: ide

  1. str-0;
  2. Number(str);
  3. parseInt(str);    //沒法轉換時返回NaN
  4. parseFloat(str); //沒法轉換時返回NaN

(3)其餘類型-->布爾型: 函數

  1. Boolean(x);
  2. var x_as_boolean = !!x;  //由於!運算符會先把它的運算數轉換爲一個布爾類型的值,而後再計算求非

2. javascript中的函數定義spa

在許多語言中,函數都只是語言的語法特性,能夠被定義、調用,卻不是數據類型。而javascript中的函數是真正的數值,能夠被存儲在變量、數組和對象中,還可做爲參數傳遞給其餘函數。當一個函數賦給某個對象的屬性時,它常被看成那個對象的方法來引用。 .net

3. javascript中函數的建立方法對象

  1. 常規作法:function square(x) { return x*x; }
  2. 函數直接量(lambda函數):
    1. var square = function(x) { return x*x; };                                          //匿名函數
    2. var f = function fact(x) { if(x<=1) return 1; else return x*fact(x-1);}; //指定函數名,用於遞歸
    3. f[0] = function(x) { return x*x; };                                                    //定義並存儲函數到一個數組中
    4. a.sort(function(a,b) { return a-b; });                                //定義函數並將其做爲參數傳給另外一個函數
    5. var tensquared = (function(x) { return x*x; })(10);                           //定義並調用函數
  3. 用構造函數定義:var square = new Function("x", "return x*x");

4. javascript中對象的建立方法blog

  1. 用構造函數定義:var o = new Object();
  2. 對象直接量:
    1. var point = {x:2.3, y:-1.2};
    2. var empty = {};
    3. var rectangle = { upperLeft: {x:2, y:2}, "lowerRight":{x:(point.x+side), y:point.y} };

5. javascript中數組的建立方法遞歸

  1. 用構造函數定義:
    1. var a = new Array(); a[0] = 1.2; a[1] = "js";
    2. var a = new Array(1.2, "js");
    3. var a = new Array(2);  //數組長度爲2
  2. 數組直接量:
    1. var a = [1.2, "js"];                  //js是一種非類型語言,因此其數組元素沒必要具備相同的類型
    2. var empty = [];
    3. var matrix = [[1, 2, 3], [4, 5, 6]];             //嵌套(js不支持多維數組,但數組元素能夠是數組)
    4. var base = 1024; var table = [base, base+1]; //變量作數組中的元素
    5. var sparseArray = [1, , , ,5];                          //數組中存放未定義元素

6. null與undefined的區別

(1)null是js的保留字(關鍵字),undefined則是ECMAScript V3中的全局變量,其初始值爲undefined。

(2)null是對象類型的特殊值(「無對象」),它不是有效的對象、數組、數字、字符串和布爾值。

undefined則有三種情形:

  1. 使用了一個並未聲明的變量
  2. 使用了一個已經聲明但未賦值的變量
  3. 使用了一個並不存在的對象屬性

(3)使用==判斷時,null和undefined兩值相等。要區分它們須要使用===或者typeof。

(4)用var聲明的變量,若未賦值則初始值是undefined。

下一篇連接:《JavaScript權威指南》筆記(三)

上一篇連接:《JavaScript權威指南》筆記(一)

相關文章
相關標籤/搜索