三種建立物件的方式:
object.create()//-----1
var programmer=
newobject()
;//-----2
var programmer=
;//-----3
var programmer=object.
create
(object.prototype)
;
object.create(新建立物件的原型物件,新增到新建立物件的屬性),最後返回新建立的物件。
如:
object.definepropertyvar programmer=};
console.
log(programmer.cloth)
;programmer[
"cloth"]=
"jacket"
;//法1:更改cloth值
console.
log(programmer.cloth)
;programmer.cloth=
"sweater"
;//法2:更改cloth值
console.
log(programmer.cloth)
;programmer.habit=
"play game"
;//法1:增加新屬性(預設可列舉,可更改)
console.
log(programmer.habit)
;programmer[
"hair"]=
"sparse"
;//法2:增加新屬性(預設可列舉,可更改)
console.
log(programmer.hair)
;
object.defineproperties
同時描述物件的多個屬性,如:
in 運算子—檢測物件的自有或繼承屬性
hasownproperty()—檢查物件的自有屬性
propertyisenumerable()— 檢查自有且可列舉的屬性
for in 語句
⚠️可列舉物件的自有或繼承屬性
object.keys(obj)
⚠️只返回自有屬性
object.assign(目標物件, …源物件)var shelf=;
console.log(object.keys(shelf)); //["book1", "book2", "book3"]
複製規則:
- object.prototype.constructor
返回建構函式
- object.prototype.tostring()programmer.constructor;
//object
使用tostring()檢測物件型別programmer.
tostring()
;//[object object]
- object.prototype.valueof()var tostring=object.prototype.tostring;
tostring.
call
(new
date);
//[object date]
tostring.
call
(new
string);
//[object string]
返回物件的原始值
第九課 變數
任務與 修改 沒有定義變數r,在第四行float r1,r2之後加上r就可以 include include intmain 閱讀程式 閱讀下面的程式,在閱讀過程中,請為每乙個變數畫出乙個方框,代表對應的記憶體空間。隨著閱讀,標明變數的變化過程,達到讀懂程式的目的。include intmain 圖...
C語言第九課
主要內容 高階指標 結構體指標 一 結構體指標 指向結構體變數的指標叫做結構體指標 typedef struct student student student stu student p stu student 結構體型別的指標 型別 p 結構體指標變數 變數名 結構體訪問成員變數 示例 type...
第九課 VBO索引
到目前為止,我們在建立vbo時總是重複儲存三角形公共邊的頂點。本課將介紹索引。索引是通過索引緩衝 index buffer 來實現的頂點復用。索引緩衝儲存的是整數 每個三角形有三個整數索引,分別指向各種屬性緩衝 attribute buffer 頂點位置 顏色 uv座標 其他uv座標 法線緩衝法線等...