《紅寶書》 |什么是對象


什么是對象

對象是一組數據和功能的集合。

創建對象

通過new操作符和Object構造函數創建

let obj=new Object()
obj.width=100
obj.size="small"

通過字面量創建

let obj={
  width:100,
  size:"small"
}

存取屬性

屬性一般是通過點語法存取的:

let person={}
person.age=18   //存
person.age      //取

此外也可以使用中括號,此時屬性名要用字符串形式:

let person={}
person["age"]=18  //存
person["age"]     //取

//對於點語法,屬性名如果包含某些字符會報錯;此時可使用中括號:
let person={}
person["first name"]="chen"
person["first name"]

實例通用的屬性和方法

Object是所有對象的基類,所以所有Object實例都有如下屬性和方法:

  • constructor:用於創建當前對象的函數(構造函數),在上面例子中,objconstructor屬性值就是Object()

    console.log(obj.constructor)
    //ƒ Object() { [native code] }
    
  • hasOwnProperty(propertyName):用於判斷當前對象實例上是否存在給定的屬性,屬性名必須為字符串

    console.log(obj.hasOwnProperty('name'))	//true
    console.log(obj.hasOwnProperty('age'))	//false
    
  • isPrototypeof(object):用於判斷當前對象是否為另一個對象的原型

  • propertyIsEnumerable(propertyName):用於判斷給定的屬性是否可以使用for-in語句枚舉,屬性名必須為字符串。

  • toLocaleString():返回對象的字符串表示,該字符串反映對象所在的本地化執行環境

    console.log(obj.toLocaleString())	//"[object Object]"
    
  • toString():返回對象的字符串表示

    console.log(obj.toString())	//"[object Object]"
    
  • valueOf():返回對象對應的字符串、數值或字符串表示

    console.log(obj.valueOf())	//{id: 18, name: "hello", fun: ƒ}
    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM