第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JavaScript反射機制到底是什么?

JavaScript反射機制到底是什么?

慕妹3146593 2019-04-21 20:22:17
JavaScript的反射機制,根據(jù)百度的結(jié)果,JavaScript反射結(jié)果不太一樣,究竟怎么樣算是反射呢?有人說,動態(tài)語言(php,javascript)這類語言無所謂反射不反射。有實例最好了,謝謝大家
查看完整描述

2 回答

?
精慕HU

TA貢獻1845條經(jīng)驗 獲得超8個贊

不要為了為了反射而反射。
題主可能是為了反射而反射。(js的反射隨處可見,而且你自己可能經(jīng)常用)
反射的概念比較強的語言像java和go。因為他們都是靜態(tài)語言。缺乏很多動態(tài)特性。他們是只有通過一大堆api才能反射。所以才會有比較強反射的概念。
js是一個基于原型繼承的面向?qū)ο蟮暮瘮?shù)語言。反射無處不在。(當一個概念無處不在的時候,那么設(shè)個概念也就漸漸地淡化了。)
js反射說個最簡單的例子。
在你不知道一個對象內(nèi)部結(jié)構(gòu)的情況下(你甚至連這個對象的一個屬性,或api都不知道),怎么跟他通信呢?這個時候就要通過一種機制,得到它的內(nèi)部結(jié)構(gòu)。這種機制就叫做反射。說白了,窺探對象內(nèi)部結(jié)構(gòu)的方法就叫做反射。
例子1:
for(varpropinwindow){
console.log(prop);
}
//Object.keys(window).forEach(console.log);一樣的結(jié)果
可能你會問?這比較時遍歷window對象啊?有什么稀奇的。你仔細看看這就是在窺探window對象的內(nèi)部結(jié)構(gòu);換句話說這就是反射。(window的方法和屬性都基本都會被打印出來,除了一些情況enumerable:true的時候)。
得到了內(nèi)部結(jié)構(gòu)就需要調(diào)用,也就是通信。
window['resizeTo'](100,200)是的就是這么簡單。這么賤的的原因是應(yīng)為js是函數(shù)編程語言,函數(shù)在js重視一等功名。函數(shù)可以當變量或?qū)ο笫褂谩?pre>
//(window['resizeTo']).apply(window,[100,200])以上面效果等同。
js是一個表現(xiàn)能力很強的語言,也就是說代碼會很好讀。而寫可以用少的代碼做多的事。這些年google在v8上花費很多精力,性能也越來越強。但是js也有很多毛病。這里就不說了。
                            
查看完整回答
反對 回復(fù) 2019-04-21
?
LEATH

TA貢獻1936條經(jīng)驗 獲得超7個贊

JavaScript哪有什么反射……換個說法……JavaScript什么地方都是反射。window['alert']()這放到JAVA/C#那類語言中妥妥的都是反射……
                            
查看完整回答
反對 回復(fù) 2019-04-21
  • 2 回答
  • 0 關(guān)注
  • 346 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號