1. 程式人生 > >JS之六大引用類型

JS之六大引用類型

number 關鍵字 引用類型 新的 數組 基本類型 構造函數 defined 相差

一、js有六種數據類型,包括五種基本數據類型,和一種復雜數據類型,typeof關鍵字用來檢測當前變量的數據類型方法。 1.Number 2.String 3.Boolean 4.Undefined 5.Null 6.Object 三大引用類型:1.object 2.Array類型 3.Function類型 object類型:(1)創建object實例,跟著new操作符 (2).使用對象字面量 //object實例 var person = new Object(); person.name = ‘micheal‘; person.age = 24; // 使用對象字面量表示法。 var person = {   name:‘micheal‘,   age:24 } 2.Array類型 數組的每一項可以用來保存任何類型的數據,也就是說,可以用數組的第一個位置來保存字符串,第二個位置保存數值,第三個位置保存對象....另外,數組的大小是可以動態調整的。 創建數組的基本方式有兩種 第一種是使用Array構造函數,如下所示 var colors = new Array("red","blue","yellow"); 第二種是使用數組字面量表示法,如下所示 var colors = ["red","blue","yellow"]; 3.Function類型 每個函數都是Function類型的實例,而且都與其他引用類型一樣具有屬性和方法。函數通常是使用函數聲明語法定義的 function sum(num1,num2){   return num1 + num2; }; 這和使用函數表達式定義函數的方式相差無幾。 var sun = function (){   return sum1 + sum2; }; 也就是說js按照存儲方式分為值類型和引用類型。那它們計算有什麽區別呢? 題目1: var a = 100;     var b = a;     a = 200;     console.log (b); //100 題目2: var a = {age : 20};     var b = a;     b.age = 21;     console.log (a.age); //21 題1:是簡單的值類型,在從一個變量向另一個變量賦值基本類型時,會在該變量上創建一個新的值,然後再把該值復制到為新的變量位置上,此時a中保存的值為100,當使用a來初始化b時,b中保存的值為100,但b中的100與a中的是完全獨立的,該值只是a中值的一個副本、。 題2: 從一個變量向另一個變量賦值引用類型的值時,同樣也會將存儲在變量中的對象的值復制一份放到新變量中。這時保存在變量中的第對象在堆內存中,所以和簡單的賦值不同,這個值其實就是一個指針指向兩個變量都保存了同一個對象地址,則這兩個變量指向同一個對象

JS之六大引用類型