1.屬性型別:資料屬性和訪問器屬性
特性是內部值,用表示
一、資料屬性:
[[configurable]]:表示能否通過delete刪除屬性從而重新定義屬性,能否修改屬性的特性,能否把屬性修改為訪問器屬性。
[[enumerable]]:表示能否通過for-in迴圈屬性
[[writable]]:表示能否修改屬性的值
[[value]]:包含這個屬性的資料值
修改屬性的預設特性,用ecmascript5的object.defineproperty()方法。
var person=
object.
defineproperty
(person,
"name"
alert
(person.name)
//nicholas
person.name=
"222"
alert
(person.name)
//nicholas
//使用object.defineproperty建立的新屬性
//預設configurable,emumerable,writable預設為false
二、訪問器屬性
[[configurable]]
[[enumerable]]
[[get]]
[[set]]
訪問器屬性必須呼叫object.defineproperty()來定義。
var book=
object.
defineproperty
(book,
"year",,
set:
function
(newvalue)}}
)book.year=
2015
;console.
log(book.edition)
//2
在這個方法之前,要建立訪問器屬性,一般都使用兩個非標準方法:
//__definegetter__ ()和__definesetter__ ()
book.
__defindgeeter__
("year"
,function()
book.
__definesetter__
("year"
,funciton
(newvalue)
定義多個屬性 object.defineproperties()方法。
object.
defineproperties
(book,
, edition
,...
})
object.getownpropertydescriptor()方法
物件屬性訪問器有:configurable,enumerable,get,set
物件屬性屬性有:configurable,enumerable,writable,value
var desciptor=object.
getownpropertydescriptor
(book,
"_year"
)alert
(descriptor.value)
//2014
alert
(descript.configurable)
//false
object.getownpropertynames() //獲取所有例項屬性(包括不可以列舉)
object.key()獲取可列舉屬性的字串陣列。
物件的列舉
for
(var prop in obj)
ispropotypeof()方法確定物件之間是否存在這種關係
person.propotype.
isproptotypeof
(person1)
//true
ecmascript5新增方法 object.getpropotypeof()
object.
getpropotypeof
(person1)
===person.prototype //true
js Math物件的一些方法
1.math.pi 圓周率 3.141592657 常量,無法被賦值 2 math.sqrt n 開n平方 3.math.ceil math.pi 4 向上取整 4.math.floor math.pi 3 向下取整 5.math.round n 四捨五入 6.math.min a,b,c 取小 m...
物件導向的一些屬性和方法?
背景介紹 一 1 物件導向的一些屬性和方法?hasownproperty判斷乙個物件是否有名稱的屬性或物件,此方法無法檢查該物件的原型鏈中是否具有該屬性,該屬性必須是物件本身的乙個成員。constructor檢視例項物件是誰構造出來的 instanceof運算子檢視例項物件和建構函式是否在一條原型鏈...
關於物件導向的一些基礎認知和理解
物件導向的解釋在網上一大堆,但每個人在不同的階段都對它有不同的理解。在這裡我記錄一下我目前對它的一些理解。唉 之前寫的幾百字說不見就不見了,讓我又得從新寫,真是讓人煩惱。物件導向在目前的我看來,就是一種 實現的設計方式。它們夠讓人更加形象和直觀的去理解或者實現 在我剛開始學習的時候,或者說大多數人都...