JavaScript——物件、包裝類
阿新 • • 發佈:2018-12-17
物件的建立方法 ①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