javascript - 為什么Chrome里的console.log會有異步的表現
問題描述
今天寫代碼的時候遇到了一個感覺很奇怪很詭異的問題
/** * Created by zhang on 5/26/2017. */var Wiw = function () { this.config = {'form':{ 'height':300, 'width':500},'content':'please edit you text!','handler':function () { //empty} } console.log(this.config);}Wiw.prototype = { ext:function (cfg) {console.log('2');$.extend(this.config,cfg);//執行合并 }}document.getElementById('a').onclick = function () { new Wiw().ext({form:{} })}
非常普通,首先new出來 初始化 然后調用合并方法 按道理說輸出的結果應該是 合并前的config屬性對象和合并后的 但實際的情況確是
他的表現就像是合并后再輸出 但是調用順序卻又是正常的
更加奇怪的是
當你把
console.log(this.config); 改成console.log(this.config.form)
結果又恢復了正常
而在fireFox之中一直都很正常
問題解答
回答1:怎么說了,我覺得吧,chrome console的輸出內容,帶點實時,看截圖,盡管是后期改o的name,但這時候點開你看name怎么跟上面輸出的不一致了= =。也符合題主后面又說改成form怎么又正常了。 我覺得 就是 那個向下箭頭旁邊的屬于寫死的,點開內容則是實時的。
另外一個問題:http://www.css88.com/jqapi-1....
var o = {form:{width:10}}$.extend(true, o,{form:{height:20}})
相關文章:
1. mysql - 數據庫建字段,默認值空和empty string有什么區別 1102. 新人求教MySQL關于判斷后拼接條件進行查詢的sql語句3. 在mybatis使用mysql的ON DUPLICATE KEY UPDATE語法實現存在即更新應該使用哪個標簽?4. mysql - 這種分級一對多,且分級不平衡的模型該怎么設計表?5. Navicat for mysql 中以json格式儲存的數據存在大量反斜杠,如何去除?6. mysql - 數據庫表中,兩個表互為外鍵參考如何解決7. php - 公眾號文章底部的小程序二維碼如何統計?8. mysql - 表名稱前綴到底有啥用?9. mysql - 千萬數據 分頁,當偏移量 原來越大時,怎么優化速度10. mac OSX10.12.4 (16E195)下Mysql 5.7.18找不到配置文件my.cnf
