免费在线a视频-免费在线观看a视频-免费在线观看大片影视大全-免费在线观看的视频-色播丁香-色播基地

22條常用JavaScript開發(fā)小技巧

:2019年02月07日 腳本之家
分享到:

1、使用var聲明變量如果給一個沒有聲明的變量賦值,默認(rèn)會作為一個全局變量(即使在函數(shù)內(nèi)賦值)。要盡量避免不必要的全局變量。2、行尾使用分號雖然JavaScript允許省略行尾的分號,但是有時不注意的省略...

1、使用var聲明變量

如果給一個沒有聲明的變量賦值,默認(rèn)會作為一個全局變量(即使在函數(shù)內(nèi)賦值)。要盡量避免不必要的全局變量。

2、行尾使用分號

雖然JavaScript允許省略行尾的分號,但是有時不注意的省略,會導(dǎo)致不必要的錯誤。建議在可用可不用行尾分號的地方加上分號。

3、獲取指定范圍內(nèi)的隨機(jī)數(shù)

var getRandom = function(max, min) {min = arguments[1] || 0;return Math.floor(Math.random() * (max - min + 1) + min);};

上面的函數(shù)接受一個你希望的隨機(jī)最大數(shù)和一個你希望的隨機(jī)最小數(shù)。

4、打亂數(shù)字?jǐn)?shù)組的順序

var sortArray = array.sort(function(){  return Math.random() - 0.5;});

5、取出數(shù)組中的隨機(jī)項(xiàng)

var ran = array[Math.floor(Math.random() * array.length)];

6、去除字符串的首尾空格

var s = string.trim();

7、類數(shù)組對象轉(zhuǎn)為數(shù)組

比如:類數(shù)組對象遍歷:

Array.prototype.forEach.call(argumens,function(value){})

DOM的NodeList和HTMLCollection也是類數(shù)組對象

8、獲取數(shù)組中的最大值和最小值

var max = Math.max.apply(Math, array);var min = Math.min.apply(Math, array);

9、清空數(shù)組

array.length = 0;
array = [];

10、保留指定小數(shù)位

var num = num.toFixed(2);

返回字符串,保留兩位小數(shù)

11、使用for-in循環(huán)來遍歷對象的屬性

for(var key in object) {   // object[key]}

不要用for-in來遍歷數(shù)據(jù)

12、獲取某月天數(shù)

function getMonthDay(date){  date = date || new Date();  if(typeof date === 'string') {      date = new Date(date);  };  date.setDate(32);  return 32 - date.getDate();}

傳入date參數(shù),可以是字符串、日期對象實(shí)例;為空表示當(dāng)月天數(shù)

13、浮點(diǎn)數(shù)問題

0.1 + 0.2 = 0.30000000000000004 != 0.3

JavaScript的數(shù)字都遵循IEEE 754標(biāo)準(zhǔn)構(gòu)建,在內(nèi)部都是64位浮點(diǎn)小數(shù)表示

14、JSON序列化和反序列化

使用JSON.stringify()來將JavaScript對象序列化為有效的字符串。
使用JSON.parse()來將有效的字符串轉(zhuǎn)換為JavaScript對象。

在AJAX傳輸數(shù)據(jù)時很有用

15、使用“===”替換“==”

相等運(yùn)算符(==)在比較時會將操作數(shù)進(jìn)行相應(yīng)的類型轉(zhuǎn)換,而全等運(yùn)算符(===)不會進(jìn)行類型轉(zhuǎn)換。

16、避免使用with()

使用with()可以把變量加入到全局作用域中,因此,如果有其它的同名變量,一來容易混淆,二來值也會被覆蓋。

17、不要使用eval()或函數(shù)構(gòu)造器

eval()和函數(shù)構(gòu)造器(Function consturctor)的開銷較大,每次調(diào)用,JavaScript引擎都要將源代碼轉(zhuǎn)換為可執(zhí)行的代碼。

18、簡化if語句

if (condition) {  fn();}

可替換成:

condition && fn();

19、給可能省略的參數(shù)賦默認(rèn)值

function test(a, b){  a = a || '1';}

20、給數(shù)組循環(huán)中緩存length的值

如果你確定循環(huán)中數(shù)組的長度不會變化,那么你可以這樣:

var length = array.length;for(var i = 0; i < length; i++) {}

可以避免在每次迭代都將會重新計(jì)算數(shù)組的大小,提高效率

21、合并數(shù)組

對于小數(shù)組,我們可以這樣:

var arr1 = [1,2,3];var arr2 = [4,5,6];var arr3 = arr1.concat(arr2);  // [1,2,3,4,5,6]

不過,concat()這個函數(shù)并不適合用來合并兩個大型的數(shù)組,因?yàn)槠鋵⑾拇罅康膬?nèi)存來存儲新創(chuàng)建的數(shù)組。在這種情況之個,可以使用Array.prototype.push.apply(arr1,arr2)來替代創(chuàng)建一個新數(shù)組。
這種方法不是用來創(chuàng)建一個新的數(shù)組,其只是將第一個第二個數(shù)組合并在一起,同時減少內(nèi)存的使用:

Array.prototype.push.apply(arr1, arr2); 
console.log(arr1); // [1,2,3,4,5,6]

22 枚舉對象“自身”的屬性

for...in除了枚舉對象“自身”的屬性外,還會枚舉出繼承過來的屬性。

var hasOwn = Object.prototype.hasOwnProperty;var obj = {name: 'tg', age: 24};for(var name in obj) {  if (hasOwn.call(obj, name)) {    console.log(name + ':' + obj[name]);  }}// name:tg// age:24
[我要糾錯]
[ 編輯:宋聰喬 &發(fā)表于江蘇 ]
關(guān)鍵詞: 使用 聲明 變量 如果 一個

來源:本文內(nèi)容搜集或轉(zhuǎn)自各大網(wǎng)絡(luò)平臺,并已注明來源、出處,如果轉(zhuǎn)載侵犯您的版權(quán)或非授權(quán)發(fā)布,請聯(lián)系小編,我們會及時審核處理。
聲明:江蘇教育黃頁對文中觀點(diǎn)保持中立,對所包含內(nèi)容的準(zhǔn)確性、可靠性或者完整性不提供任何明示或暗示的保證,不對文章觀點(diǎn)負(fù)責(zé),僅作分享之用,文章版權(quán)及插圖屬于原作者。

點(diǎn)個贊
0
踩一腳
0

您在閱讀:22條常用JavaScript開發(fā)小技巧

Copyright©2013-2025 ?JSedu114 All Rights Reserved. 江蘇教育信息綜合發(fā)布查詢平臺保留所有權(quán)利

蘇公網(wǎng)安備32010402000125 蘇ICP備14051488號-3技術(shù)支持:南京博盛藍(lán)睿網(wǎng)絡(luò)科技有限公司

南京思必達(dá)教育科技有限公司版權(quán)所有   百度統(tǒng)計(jì)

主站蜘蛛池模板: 一个人晚上在线观看的免费视频 | 我要看一级黄色毛片 | 香蕉精品一本大道在线观看 | 欧美伦理一区二区三区 | 真人一级毛片免费完整视 | 亚洲不卡在线观看 | 在线观看麻豆精品国产不卡 | 夜夜cao | 无码专区aaaaaa免费视频 | 在线一区三区四区产品动漫 | 欧美成人综合在线 | 亚洲欧美日韩国产精品26u | 鲁丝片一区二区三区免费 | 中文字幕一区波多野结衣 | 曰批免费视频播放免费观看网站 | 亚洲欧美精品日韩欧美 | 男女网站在线观看 | 久久综合视频网 | 成人免费毛片网站 | 日批在线观看 | 第一页亚洲 | 欧美娇小极度另类 | 精品一区二区三区高清免费观看 | 欧美高清精品 | 理论毛片| 国产免费一区2区3区4区 | 91日本在线观看亚洲精品 | 成人h视频 | 色片免费网站 | 老司机免费午夜精品视频 | a一级毛片录像带 录像片 | 成年人免费在线视频网站 | xxxx日本在线播放免费不卡 | 小明台湾成人永久免费看看 | 国产欧美综合在线 | 亚洲人色大成年网站在线观看 | 国产 欧美 日韩在线 | 一本大道香蕉在线高清视频 | 欧洲妇女成人淫片aaa视频 | 中文字幕亚洲无线码在线一区 | 性欧美video在线播放 |
最熱文章
最新文章
  • 阿里云上云鉅惠,云產(chǎn)品享最低成本,有需要聯(lián)系,
  • 卡爾蔡司鏡片優(yōu)惠店,鏡片價格低
  • 蘋果原裝手機(jī)殼