溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JavaScript的開發(fā)技巧有哪些

發(fā)布時(shí)間:2021-08-30 14:18:21 來源:億速云 閱讀:94 作者:chen 欄目:開發(fā)技術(shù)

這篇文章主要講解了“JavaScript的開發(fā)技巧有哪些”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“JavaScript的開發(fā)技巧有哪些”吧!

  JavaScript 開發(fā)技巧

  1、在使用 javascript 類庫之前先學(xué)習(xí) javascript

  互聯(lián)網(wǎng)充斥著很多的 javascript 類庫,很多程序員都往往使用 js 類庫而不理解負(fù)面影響。強(qiáng)烈建議你在使用第三方類庫之前學(xué)習(xí)基本的 JS 代碼,否則,你就準(zhǔn)備著倒霉吧。

  2、思考后再修改 prototypes

  添加新的屬性到對象 prototype 中是導(dǎo)致腳本出錯(cuò)的常見原因。

  yourObject.prototype.anotherFunction = 'Hello';

  yourObject.prototype.anotherMethod = function(){...}

  在上面代碼中,所有的變量都會被影響,因?yàn)樗麄兌祭^承于 yourObject。這樣的使用會導(dǎo)致意想不到的行為。所以建議在使用完后刪除類似的修改。

  yourObject.prototype.anotherFunction = 'Hello';

  yourObject.prototype.anotherMethod = function () { … };

  test.anotherMethod();

  delete yourObject.prototype.anotherFunction = 'Hello';

  delete yourObject.prototype.anotherMethod = function () { … };

  3、Debug Javascript 代碼

  即使最好的開發(fā)人員都會犯錯(cuò)。為了最大化的減少類似錯(cuò)誤,請?jiān)谀愕?debugger 中運(yùn)行你的代碼,確認(rèn)你沒有遇到任何細(xì)微的錯(cuò)誤。

  4、避免 Eval

  你的 JS 在沒有 eval 方法的時(shí)候也可以很好的工作。eval 允許訪問 javascript 編譯器。如果一個(gè)字符串作為參數(shù)傳遞到 eval,那么它的結(jié)果可以被執(zhí)行。

  這會很大的降低代碼的性能。盡量避免在產(chǎn)品環(huán)境中使用 eval。

  5、 最小化 DOM 訪問

  DOM 是最復(fù)雜的 API,會使得代碼執(zhí)行過程變慢。有時(shí)候 web 頁面可能沒有加載或者加載不完整。最好避免 DOM。

  6、盡可能的保持代碼簡潔

  可能大家都聽到過了N遍這個(gè)代碼簡潔問題了。作為一個(gè)開發(fā)人員你可能在你的代碼開發(fā)過程中使用了很多次,但千萬不要在 js 開發(fā)中忘記這點(diǎn)。

  § 盡量在開發(fā)模式中添加注釋和空格,這樣保持代碼的可讀性

  § 在發(fā)布到產(chǎn)品環(huán)境前請將空格和注釋都刪除,并且盡量縮寫變量和方法名

  使用第三方工具幫助你實(shí)現(xiàn)壓縮 javascript。

  7、不要用 “SetTimeOut” 和 “Setinterval” 方法來作為 “Eval” 的備選

  setTimeOut( "document.getID('value')", 3000);

  在以上代碼中 document.getID(‘value’) 在 setTimeOut 方法中被作為字符串來處理。 這類似于 eval 方法,在每個(gè)代碼執(zhí)行中來執(zhí)行一個(gè)字符串,因此會降低性能,因此,建議在這些方法中傳遞一個(gè)方法。

  setTimeOut(yourFunction, 3000);

  8、[] 比 new Array(); 更好

  一個(gè)常犯的錯(cuò)誤在于使用當(dāng)需要數(shù)組的時(shí)候使用一個(gè)對象或者該使用對象的時(shí)候使用一個(gè)數(shù)組。但是使用原則很簡單:

  “當(dāng)屬性名稱是小的連續(xù)整數(shù),你應(yīng)該使用數(shù)組。否則,使用一個(gè)對象” – Douglas Crockford, JavaScript: Good Parts 的作者.

  建議:

  var a = ['1A','2B'];

  避免:

  var a = new Array();

  a[0] = "1A";

  a[1] = "2B";

  9、盡量不要多次使用 var

  在初始每一個(gè)變量的時(shí)候,程序員都習(xí)慣使用 var 關(guān)鍵字。相反,建議你使用逗號來避免多余的關(guān)鍵字,并且減少代碼體積。 如下:

  var variableOne = 'string 1',

  variableTwo = 'string 2',

  variableThree = 'string 3';

  10、不要忽略分號 “;”

  這往往是大家花費(fèi)數(shù)個(gè)小時(shí)進(jìn)行 debug 的原因之一。

  我很確信你肯定也在其它的文章中閱讀過以上相關(guān)的內(nèi)容,但是大家可能往往都忽略了很多基本的規(guī)則。 你是不是也曾經(jīng)忽略過分號。是不是也遇到過 eval 關(guān)鍵字問題導(dǎo)致性能問題?

感謝各位的閱讀,以上就是“JavaScript的開發(fā)技巧有哪些”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對JavaScript的開發(fā)技巧有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI