幾個知識點

1. typeof instanceof

typeof 操做符, typeof 變量或對象名或函數名或null. 返回的值: string number boolean undefined function objectjavascript

instanceof操做符, 變量(對象名) instanceof 對象類型. 返回的值: truefalse. 若是是該類型則返回 true, 若是不是該類型, 則返回 false.java

2. Undefined

已聲明但還沒有初始化的變量的值默認爲 undefined.數組

還沒有聲明的變量只能進行一種操做, 就是用 typeof 操做符查看類型, 雖然會返回 undefined, 可是該變量並無值, 也就是值並非 undefined.瀏覽器

undefined 派生於 null, 因此對於相等性測試: alert(undefined == null), 返回 true.函數

3. Null

null 是一個空對象指針.測試

undefinednull 的區別在於: null 是一個空對象指針, 而 undefined 是已聲明但還沒有初始化的變量.prototype

4. 基本類型和引用類型

4.1 複製變量

基本類型:
var num1 = 5;
var num2 = num1;

num2 的值改變了, 不會影響到 num1 的值.指針

引用類型:
var o1 = new Object();
var o2 = o1;

o2 的值改變了, o1 的值也隨着改變了.code

4.2 傳遞參數

基本類型:
function add(num) {
    num += 10;
    return num;
}
var count = 20;
var result = add(count);
alert(count);  //20
alert(result); //30

形參的值改變了, 不會影響實參的值.對象

引用類型:
function setName(obj) {
    obj.name = "john";
}
var o1 = new Object();
setName(o1);
alert(o1.name);

形參的值改變了, 實參的值也跟着改變了.

5. Array

5.1 定義方法:

  1. var arr = new Array(5);

  2. var arr = Array(5);

  3. var arr = new Array(1, 2, 3, 4, 5);

  4. var arr = Array(1, 2, 3, 4, 5);

  5. var arr = [1, 2, 3, 4, 5];
    如上所示幾種定義數組的方法. 使用構造函數時, 能夠省略 new.

5.2

var arr = [1, 2, 3, 4, 5];
alert(arr[34]); // undefined

如上所示, alert(arr[34]); 會在瀏覽器中彈出提示框顯示 undefined. 可是此時 arr[34]並無值(沒有值的變量都返回undefined), 也就是它的值並非 undefined. 因此數組的長度依然是 5.

var arr = [1, 2, 3, 4, 5];
arr[34] = undefined;
alert(arr[34]); // undefined

如上所示, 給 arr[34] 賦值了, 此時數組的長度會變爲 35. 而且 arr[5~33]之間全部的值都變爲 undefined.

總結: 當索引超出數組範圍的時候, 只有給該索引位置設置值以後, 數組的長度纔會改變.

6. Date

var now = new Date() 得到當前時間.

7. Function

Function 是對象. 函數名是指針, 指向該函數對象.

由於函數名是指針, 因此沒有重載, 由於指針只會指向一個函數對象.

函數提高: 解析器會先讀取函數聲明, 使其在任何代碼執行前可用.

函數能夠作參數, 也能夠作返回值.

arguments: 保存着全部傳入函數的參數. 相似數組.

函數的兩個屬性: length prototype.

相關文章
相關標籤/搜索