1. 程式人生 > >JavaScript——物件、包裝類

JavaScript——物件、包裝類

物件的建立方法
①var obj={}   plainObject(物件字面量/物件直接量)
②建構函式建立
    1)系統自帶的建構函式  Object araay number
var obj=new Object()
    2)自定義的建構函式(自定義建構函式與普通函式看著沒有區別,定義時為了區分,要符合 大坨峰式命名規則:既每個單詞首字母都大寫)

建構函式內部原理:
new之後,函式內部會自動隱式的 新增  三段式  //為隱式自動新增的內容
例如:
new Person();

function Person(name,height){
//var this={}
this.name=name;
this.height=height;
this.say=function(){
console.log(this.say);
}
//return this;    可手動return一個物件,但不能返回一個原始值,若寫返回原始值,實際還是隱式的返回this
}


原始值不可能有屬性和方法,但經過包裝類
例如  :   var  str="abc";
str.length=3
原始值不可能有屬性和方法,但會隱式的發生:
  var  str="abc";
str.length=3
//new String(str).length=3;   delete
  str.length=3  //訪問時再次new String(str).length=3;   delete   這兩個就不是一個物件了,所以顯示undefined


typeof 運算子把型別資訊當作字串返回
例題:
var str="abc";
str += 1;
var test = typeof(str);
if(test.length == 6){
test.sign = "typeof的返回結果是String";
}
console.log(test.sign);

輸出為  undefined
原因:
test是原始值,無屬性和方法,執行test.sign = "typeof的返回結果是String";時會自動隱式 new String(test).sign="xxx"   delete
下面列印時又會自動隱式new String(test).sign   delete   所以輸出undefined