10個(gè)JavaScript代碼使用技巧速覽
借助構(gòu)造函數(shù)和浮點(diǎn)數(shù)的誤差來做數(shù)學(xué)運(yùn)算
Number((0.1 + 0.2).toFixed(1)) === 0.3; // true
使用“攤平參數(shù)”和“apply”做參數(shù)不固定的最值查找
const nums = [5, 3, 9, 1, 6]; const maxNum = Math.max.apply(null, nums); // 9 const minNum = Math.min.apply(null, nums); // 1
利用Array構(gòu)造函數(shù)創(chuàng)建長度固定但值未定義的數(shù)組
const arrayOfUndefined = Array(3); // [undefined, undefined, undefined]
使用位運(yùn)算符進(jìn)行整數(shù)的快捷操作
// 快速地求平方 let i = 2; let square = i << 1; // 等價(jià)于 i * 2 或 i ** 2 // 快速地從浮點(diǎn)數(shù)中丟棄小數(shù)部分取整 let floatNum = 3.15; let intNum = floatNum | 0; // 3
利用void運(yùn)算符來執(zhí)行表達(dá)式且不返回結(jié)果
void function iife() {
var localVar = 'I am not returned';
console.log(localVar);
}();
console.log(typeof localVar); // undefined使用逗號(hào)運(yùn)算符鏈?zhǔn)綀?zhí)行多個(gè)表達(dá)式
let x = 1; (x += 1, x *= 3); console.log(x); // 6
使用標(biāo)簽?zāi)0逭Z法進(jìn)行高級(jí)字符串操作
function highlight(strings, ...values) {
return strings.reduce((acc, str, i) => `${acc}${str}<mark>${values[i] || ''}</mark>`, '');
}
const name = "Alice";
const greeting = highlight`Hello there, ${name}`;
console.log(greeting); // "Hello there,<mark>Alice</mark>"利用 IIFE 和閉包保存狀態(tài)
var elems = document.querySelectorAll('select option:checked');
var values = Array.prototype.map.call(elems, function(obj){
return obj.value;
});使用數(shù)組解構(gòu)來交換變量的值
let a = 1, b = 2; [b, a] = [a, b]; console.log(a); // 2 console.log(b); // 1
使用邏輯或?yàn)楹瘮?shù)參數(shù)提供默認(rèn)值
function logName(name) {
name = name || 'Unknown';
console.log(name);
}
logName(); // 'Unknown'
logName('Alice'); // 'Alice'
到此這篇關(guān)于10個(gè)JavaScript代碼使用技巧速覽的文章就介紹到這了,更多相關(guān)JavaScript技巧內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
html5+canvas實(shí)現(xiàn)支持觸屏的簽名插件教程
jq-signature.js是一個(gè)幫助你創(chuàng)建簽名的jQuery插件,允許你的用戶使用鼠標(biāo),手指或者鉛筆生成簽名。下面這篇文章主要給大家介紹了利用html5+canvas實(shí)現(xiàn)支持觸屏的簽名插件的相關(guān)資料,需要的朋友可以參考下。2017-05-05
js實(shí)現(xiàn)點(diǎn)擊獲取驗(yàn)證碼倒計(jì)時(shí)效果
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)點(diǎn)擊獲取驗(yàn)證碼倒計(jì)時(shí)效果,這種效果大家經(jīng)常遇到,示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2015-10-10
JavaScript實(shí)現(xiàn)動(dòng)態(tài)表單生成
這篇文章主要來和大家一起深入探討如何使用JavaScript實(shí)現(xiàn)一個(gè)動(dòng)態(tài)表單生成器,文中的示例代碼講解詳細(xì),有需要的小伙伴可以參考一下2024-01-01
微信小程序wx.previewImage預(yù)覽圖片實(shí)例詳解
下面通過實(shí)例代碼給大家講解了微信小程序wx.previewImage預(yù)覽圖片功能,需要的朋友可以參考下2017-12-12
ie與firefox下的event使用說明與詳細(xì)區(qū)別
event是ie自帶的一個(gè)對(duì)象,而ff中不存在該對(duì)象,只能通過傳遞參數(shù)(并且惟一)的方式來實(shí)現(xiàn)event.2009-10-10
ES6 Object方法擴(kuò)展的應(yīng)用實(shí)例分析
這篇文章主要介紹了ES6 Object方法擴(kuò)展的應(yīng)用,結(jié)合實(shí)例形式總結(jié)分析了ES6針對(duì)對(duì)象方法的擴(kuò)展與優(yōu)化,需要的朋友可以參考下2019-06-06
微信小程序中選中手機(jī)相冊(cè)圖片上傳到服務(wù)器的步驟
這篇文章主要介紹了微信小程序中選中手機(jī)相冊(cè)圖片上傳到服務(wù)器的步驟,現(xiàn)圖片上傳我們需要使用chooseImg和uploadFile這兩個(gè)api,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2024-04-04

