本文目錄一覽:
Web前端新手應該知道的JavaScript開發技巧有哪些?
今天小編要跟大家分享的文章是關於Web前端新手應該知道的JavaScript開發技巧有哪些?熟悉Web前端的小夥伴都知道,Javascript
的很多擴展的特性是的它變得更加的犀利,同時也給予程序員機會創建更漂亮並且更讓用戶喜歡的網站。
儘管很多的開發人員都樂於頌揚javascript,但是仍舊有人看到它的陰暗面。
使用很多javascript代碼的Web頁面會加載很慢,過多的使用javascript使得網頁醜陋和拖沓。很快如何有效地使用
javascript成為一個非常火熱的話題。
今天小編就為Web前端新手準備了這篇JavaScript開發技巧,希望能夠對你有所幫助,下面我們一起來看一看吧!
1、儘可能的保持代碼簡潔
可能大家都聽到過了N遍這個代碼簡潔問題了。作為一個開發人員你可能在你的代碼開發過程中使用了很多次,但千萬不要在js開發中忘記這點。
§盡量在開發模式中添加註釋和空格,這樣保持代碼的可讀性
§在發布到產品環境前請將空格和注釋都刪除,並且盡量縮寫變量和方法名
§使用第三方工具幫助你實現壓縮javascript。
2、思考後再修改prototypes
添加新的屬性到對象prototype中是導致腳本出錯的常見原因。
yourObject.prototype.anotherFunction=’Hello’;
yourObject.prototype.anotherMethod=function(){…}
在上面代碼中,所有的變量都會被影響,因為他們都繼承於yourObject。這樣的使用會導致意想不到的行為。所以建議在使用完後刪除類似的修改。
yourObject.prototype.anotherFunction=’Hello’;
yourObject.prototype.anotherMethod=function(){};
test.anotherMethod();
deleteyourObject.prototype.anotherFunction=’Hello’;
deleteyourObject.prototype.anotherMethod=function(){};
3、DebugJavascript代碼
即使最好的開發人員都會犯錯。為了最大化的減少類似錯誤,請在你的debugger中運行你的代碼,確認你沒有遇到任何細微的錯誤。
4、避免Eval
你的JS在沒有eval方法的時候也可以很好的工作。eval允許訪問javascript編譯器。如果一個字符串作為參數傳遞到
eval,那麼它的結果可以被執行。
這會很大的降低代碼的性能。盡量避免在產品環境中使用eval。
5、最小化DOM訪問
DOM是最複雜的API,會使得代碼執行過程變慢。有時候Web頁面可能沒有加載或者加載不完整。最好避免DOM。
6、在使用javascript類庫之前先學習javascript
互聯網充斥着很多的javascript類庫,很多程序員都往往使用js類庫而不理解負面影響。強烈建議你在使用第三方類庫之前學習基本的JS
代碼,否則,你就準備着倒霉吧。
7、不要用“SetTimeOut”和“Setinterval”方法來作為“Eval”的備選
setTimeOut(“document.getID(‘value’)”,3000);
在以上代碼中document.getID(‘value’)在setTimeOut方法中被作為字符串來處理。這類似於eval
方法,在每個代碼執行中來執行一個字符串,因此會降低性能,因此,建議在這些方法中傳遞一個方法。
setTimeOut(yourFunction,3000);
8、[]比newArray();更好
一個常犯的錯誤在於使用當需要數組的時候使用一個對象或者該使用對象的時候使用一個數組。但是使用原則很簡單:
“當屬性名稱是小的連續整數,你應該使用數組。否則,使用一個對象”_DouglasCrockford,JavaScript:Good
Parts的作者.
建議:
vara=[‘1A’,’2B’];
避免:
vara=newArray();
a[0]=”1A”;
a[1]=”2B”;
9、盡量不要多次使用var
在初始每一個變量的時候,程序員都習慣使用var關鍵字。相反,建議你使用逗號來避免多餘的關鍵字,並且減少代碼體積。如下:
varvariableOne=’string1′,
variableTwo=’string2′,
variableThree=’string3′;
10、不要忽略分號“;”
這往往是大家花費數個小時進行debug的原因之一。
我很確信你肯定也在其它的文章中閱讀過以上相關的內容,但是大家可能往往都忽略了很多基本的規則。你是不是也曾經忽略過分號。是不是也遇到過eval
關鍵字問題導致性能問題?
以上就是小編今天為大家分享的關於Web前端新手應該知道的JavaScript
開發技巧有哪些?的文章,希望本篇文章能夠對剛剛接觸Web前端行業的新手們有所幫助。想要了解更多Web前端知識記得關注北大青鳥Web前端培訓官網!
*聲明:內容與圖片均來源於網絡(部分內容有修改),版權歸原作者所有,如來源信息有誤或侵犯權益,請聯繫我們刪除或授權事宜。
北大青鳥設計培訓:JavaScript編程開發技巧?
隨着互聯網的不斷發展,關於JavaScript編程開發語言的使用也被廣大程序員掌握。
而今天我們就一起來了解一下,JavaScript編程開發的一些技巧都有哪些。
JSON.stringify我們平時經常會用到JSON對象,比如當我們要實現對象的深拷貝時,我們可以用JSON對象的JSON.stringify和JSON.parse來拷貝一個完全一樣的對象,而不會對原對象產生任何引用關係。
在使用localStorage時,也會用到它,因為localStorage只能存儲字符串格式的內容,所以,我們在存之前,將數值轉換成JSON字符串,取出來用的時候,再轉成對象或數組。
參數:value:將要被序列化的變量的值replacer:替代器。
可以是函數或者是數組,如果是一個函數,則value每個屬性都要經過這個函數的處理,該函數的返回值就是後被序列化後的值。
如果是一個數組,則要求該數組的元素是字符串,且這些元素會被當做value的鍵(key)進行匹配,後序列化的結果,是只包含該數組每個元素為key的值。
space:指定輸出數值的代碼縮進,美化格式之用,可以是數字或者字符串。
如果是數字(大為10)的話,代表每行代碼的縮進是多少個空格。
如果是字符串的話,該字符串(多前十個字符)將作顯示在每行代碼之前。
用Set來實現數組去重在ES6中,引入了一個新的數據結構類型:Set。
而Set與Array的結構是很類似的,且Set和Array可以相互進行轉換。
數組去重,也算是一個比較常見的前端面試題了,方法有很多種,這裡不多贅述。
下面我們看看用Set和…(拓展運算符)可以很簡單的進行數組去重。
用塊級作用域避免命名衝突在開發的過程中,通常會遇到命名衝突的問題,就是需要根據場景不同來定義不同的值來賦值給同一個變量。
下面廣州IT培訓介紹一個使用ES6中的塊級作用域來解決這個問題的方法。
函數參數值校驗我們知道,在ES6中,為函數增加了參數默認值的特性,可以為參數設定一些默認值,可以讓代碼更簡潔,可維護。
昭通java培訓學校告訴你JavaScript編程開發技巧?
隨着互聯網的不斷發展,關於JavaScript編程開發語言的使用也被廣大程序員掌握。而今天我們就一起來了解一下,JavaScript編程開發的一些技巧都有哪些。
JSON.stringify
我們平時經常會用到JSON對象,比如當我們要實現對象的深拷貝時,我們可以用JSON對象的JSON.stringify和JSON.parse來拷貝一個完全一樣的對象,而不會對原對象產生任何引用關係。在使用localStorage時,也會用到它,因為localStorage只能存儲字符串格式的內容,所以,我們在存之前,將數值轉換成JSON字符串,取出來用的時候,再轉成對象或數組。
參數:
value:將要被序列化的變量的值
replacer:替代器。可以是函數或者是數組,如果是一個函數,則value每個屬性都要經過這個函數的處理,該函數的返回值就是後被序列化後的值。如果是一個數組,則要求該數組的元素是字符串,且這些元素會被當做value的鍵(key)進行匹配,後序列化的結果,是只包含該數組每個元素為key的值。
space:指定輸出數值的代碼縮進,美化格式之用,可以是數字或者字符串。如果是數字(大為10)的話,代表每行代碼的縮進是多少個空格。如果是字符串的話,該字符串(多前十個字符)將作顯示在每行代碼之前。
用Set來實現數組去重
在ES6中,引入了一個新的數據結構類型:Set。而Set與Array的結構是很類似的,且Set和Array可以相互進行轉換。
數組去重,也算是一個比較常見的前端面試題了,方法有很多種,這裡不多贅述。下面我們看看用Set和…(拓展運算符)可以很簡單的進行數組去重。
用塊級作用域避免命名衝突
在開發的過程中,通常會遇到命名衝突的問題,就是需要根據場景不同來定義不同的值來賦值給同一個變量。下面昭通IT培訓介紹一個使用ES6中的塊級作用域來解決這個問題的方法。
函數參數值校驗
我們知道,在ES6中,為函數增加了參數默認值的特性,可以為參數設定一些默認值,可以讓代碼更簡潔,可維護。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/254818.html