JS之六大引用類型
阿新 • • 發佈:2019-05-01
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之六大引用類型