亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

每個JavaScript程序員應該知道什么?

每個JavaScript程序員應該知道什么?

繁星coding 2019-12-06 15:52:01
每個JavaScript程序員都應該具備能夠說“我知道JavaScript”的東西嗎?
查看完整描述

3 回答

?
吃雞游戲

TA貢獻1829條經驗 獲得超7個贊

不是jQuery。不是YUI。不是(等)

框架可能很有用,但是它們經常隱藏一些關于JavaScript和DOM實際工作方式的丑陋細節。如果您的目標是能夠說“我知道JavaScript”,那么在框架上投入大量時間是相反的。

以下是一些JavaScript語言功能,您應該了解這些功能在做什么并且不會被吸引住,但是對于許多人來說,它們并不是立即顯而易見的:

  • object.propobject['prop']是同一件事(所以請您停止使用eval,謝謝);對象屬性始終是字符串(即使是數組);什么for...... in是(和什么不是)。

  • 嗅探財產;什么undefined是(以及為什么聞到);為什么看似鮮為人知的in操作員是有益的并且不同于typeofundefined檢查;hasOwnProperty; 目的delete

  • Number數據類型是一個真正的浮動; 使用浮點數與語言無關的困難;避免parseInt八進制陷阱。

  • 嵌套函數作用域;在var您要避免意外的全局范圍內使用的必要性;范圍如何用于閉包;在閉合回路問題。

  • 全局變量和window屬性如何碰撞;全局變量和文檔元素如何在IE中不應該沖突,而應該如何沖突?也必須var在全球范圍內使用以避免這種情況。

  • function語句如何在定義之前的代碼之前“ 提升 ”定義;函數語句和函數表達式之間的區別;為什么不應該使用命名函數表達式。

  • 構造函數的功能,prototype屬性和new運算符的工作方式;利用此方法創建您實際想要的普通類/子類/實例系統的方法;當您可能想使用基于閉包的對象而不是原型時。(對此,大多數JS教程材料絕對是可怕的;花了我很多年才把它弄清楚。)

  • this通話時如何確定,不受限制;因此,方法傳遞不像您期望的其他語言那樣有效;如何關閉或Function#bind可以用來解決這個問題。

  • 其他ECMAScript第五版功能indexOf,forEach以及上的功能編程方法Array。如何修復舊版瀏覽器以確保您可以使用它們;將它們與內聯匿名函數表達式一起使用,以獲取緊湊,易讀的代碼。

  • 瀏覽器和用戶代碼之間的控制流;同步和異步執行;在控件流內部觸發的事件(例如焦點)與控件返回時發生的事件和超時;如何調用所謂的同步內置alert函數最終會導致潛在的災難性重入。

  • 跨窗口腳本編寫如何影響instanceof;跨窗口腳本如何影響跨不同文檔的控制流;postMessage希望如何解決這個問題。

有關最后兩個項目,請參見此答案。

最重要的是,您應該批判性地查看JavaScript,并承認由于歷史原因,它是一種不完善的語言(甚至比大多數語言還多),并且避免了最糟糕的麻煩??肆_克福德在這方面的工作絕對值得一讀(盡管我并不100%同意他所說的“好零件”)。


查看完整回答
反對 回復 2019-12-06
?
陪伴而非守候

TA貢獻1757條經驗 獲得超8個贊

了解Crockford的Javascript:The Good Parts中的內容是一個很好的假設,即一個人是一個不錯的JS程序員。


您幾乎可以知道如何使用類似JQuery的良好庫,而仍然不知道Javascript的隱藏部分。


另一個注意事項是各種瀏覽器上的調試工具。JS程序員應該知道如何在不同的瀏覽器中調試其代碼。


哦! 而且知道JSLint會完全傷害您的感覺?。?/p>


查看完整回答
反對 回復 2019-12-06
?
回首憶惘然

TA貢獻1847條經驗 獲得超11個贊

如果您想成為一名真正的JavaScript忍者,那么您應該知道Perfection Kills JavaScript Quiz中每個問題的答案。


激發食欲的一個例子:


(function f(f){ 

  return typeof f(); 

})(function(){ return 1; });

此表達式返回什么?


“數”

“未定義”

“功能”

錯誤


查看完整回答
反對 回復 2019-12-06
  • 3 回答
  • 0 關注
  • 560 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號