對象進階

對象進階

1.this

構(gòu)造函數(shù)里面的this,用于給類定義成員(屬性和方法)

方法里面的this,指向方法的調(diào)用者

箭頭函數(shù)中沒有this,如果在箭頭函數(shù)中使用了this,會向外層尋找this的指向

如果所有的外層都沒有this,最終會指向window對象

注意:用于var定義的成員(變量和方法)都會成為window對象的成員

解決this指向問題:

方式一:備份this

方式二:使用箭頭函數(shù)

2.call apply bind

call apply bind 更改方法里面this的指向

使用call()改變方法里面,this的指向

call()方法的第一個參數(shù)必須是指定的對象,方法的原有參數(shù),挨個放在后面

使用apply(),也可以改變方法里面this的指向,第一個參是指定的對象,方法的原有參數(shù),統(tǒng)一放到第二個數(shù)組參數(shù)中。

使用bind(),也可以改變方法里面this的指向,用法給call()一樣

call()是直接運行方法,bind()是返回新的方法,然后再重新調(diào)用。

3.將一個對象轉(zhuǎn)為字符串

獲取對象的屬性值,有兩種方式:

對象名.屬性名

對象名["屬性名"]

//定義一個手機對象letphone={name:"小米10",color:'紅色',size:'1000*200*500',price:'2999'}//轉(zhuǎn)成下面的字符串//"name=小米10&color=紅色&size=1000*200*500&price=2999"

for in 循環(huán),可以循環(huán)出對象里面的所有的key,(key就是屬性名)

在ES6中新增了獲取對象所有key的方法 -> ECMAScript2015 其實就是最新版本的javascript標準

Object.keys(指定的對象),該方法可以獲取指定對象的所有key,返回值是一個數(shù)組

Object.values(指定的對象),該方法可以獲取指定對象的所有的value,返回值是一個數(shù)組

4.將字符串轉(zhuǎn)為對象

//定義一個字符串letstr="name=小米10&color=紅色&size=1000*200*500&price=2999"http://轉(zhuǎn)成一個對象{name:"小米10",color:'紅色',size:'1000*200*500',price:'2999'}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、初識JavaScript JavaScript 是 Web 的編程語言。 所有現(xiàn)代的 HTML 頁面都使用 J...
    是陽仔啊閱讀 661評論 0 0
  • Day07的課程要點記錄詳細教程地址:Day7 - 面向?qū)ο缶幊踢M階 一、靜態(tài)方法、類方法、屬性方法 1.1 靜態(tài)...
    乘風(fēng)逐月閱讀 486評論 0 0
  • ### 動態(tài)添加屬性: 1. `對象.屬性名=xx`的形式。 2. 通過`setattr(對象,屬性名,這個屬性對...
    97833632c0c7閱讀 328評論 0 0
  • 一.普通對象與函數(shù)對象 js中萬物皆對象!但對象也是有區(qū)別的。分為普通對象和函數(shù)對象,Object 、Functi...
    Speng閱讀 846評論 0 3
  • 如果你自以為會對象深拷貝的話,快來看看這篇對象進階的文章吧~~~ 1.創(chuàng)建對象 對象創(chuàng)建的三種方式var obj ...
    learninginto閱讀 636評論 6 10

友情鏈接更多精彩內(nèi)容