摘要:閑來無事,整理一下中那些神乎其神的技巧,假裝大牛的樣子字符串轉換為數字同樣可用于日期轉換為數值數值向下取整字符串轉換為數值并取整謝謝開始學習前端指正,該取整直接去除小數點后數字,僅對正數有效函數設置默認值為時最后都得到變量值交換使用
閑來無事,整理一下JavaScript中那些神乎其神的技巧,假裝大牛的樣子 1. 字符串轉換為數字
var a = "123"; console.log(+a); // 123 console.log(typeof +a); // number // 同樣可用于日期轉換為數值: var b = +new Date(); // 14685456821682. 數值向下取整
var a = ~~3.14; // 3 var b = 3.14>>0; // 3 var c = 3.14|0; // 33. 字符串轉換為數值并取整
var a = "3.14"|0; // 3 var b = "3.14"^0; // 3
4. 函數設置默認值謝謝 @開始學習前端 指正,該取整直接去除小數點后數字,僅對正數有效
function func(arg){ var arg = arg || "default"; // arg 為 undefined, null, "", 0, false, NaN 時最后都得到"default" }5. 變量值交換
var a = 1, b = 2; a = [b, b = a][0]; console.log(a); // 2 console.log(b); // 16. 使用for in遍歷對象取到屬性名與屬性
var obj = { a: 1, b: 2 } for(var i in obj) { console.log("obj." + i + " = " + obj[i]); } // output: obj.a = 1 // obj.b = 27. 截斷數組
var arr = [1, 2, 3, 4, 5, 6]; arr.length = 3; console.log(arr); // [1, 2, 3]8. 提高遍歷較大Enumerable數據的性能
var arr = [1, 2, 3, 4, 5, 6, ...]; var len = arr.length; // 緩存arr.length for(var i = 0; i < len; i++) { console.log(arr[i]); } // 也可將緩存寫在for的聲明中 for(var i = 0, len = a.length; i < len; i++) { console.log(arr[i]); } // 或者(!注意:若數組中鍵值存在undefined、null、0、false等數據時會中斷遍歷) for(var i = 0, a; a = arr[i++];) { console.log(a); }9. 使用 && 替代單一條件判斷
// 你可能這樣寫過 if(!token) { login(); } // 其實這樣也可以 !token && login(); // 或 token || login();10. 檢測 對象/數組 中是否有指定 屬性/元素
var CURD = { add: function() {}, delete: function() {}, edit: function() {} } console.log("add" in CURD); // true console.log("find" in CURD); // false /* 誤 */ // var arr = [1, 2, 3]; // console.log(1 in arr); // true // console.log(6 in arr); // false
11. 通過閉包調用setTimeout謝謝 @zaaack 指正,數組的存在檢測實質上是檢測的是數組下標
for(var i = 0; i < 10; i++) { setTimeout(function(){ console.log(i); // 10 10 10 ... },500); } for(var i = 0; i < 10; i++) { (function(i){ setTimeout(function(){ console.log(i); // 0 1 2 3 ... },500) })(i); }12. To be continue... Started At 函數式編程:柯里化的變型應用 | 熊D博客
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/81095.html
摘要:前言書接上文細數實用黑科技一本文介紹獨孤九劍和兩篇最高內功心法??梢詫⒆兞哭D換為布爾值??梢园讶魏晤愋偷闹缔D換為布爾值,并且只有當這個變量的值為的時候才會返回,其他情況都返回。同樣的,函數體內部聲明的函數,作用域綁定函數體內部。 showImg(https://segmentfault.com/img/remote/1460000016507838); 前言 書接上文:細數 JavaS...
摘要:小汪經過實踐得出以下用途。空數組的類型也是,這表示在內部,數組本質上只是一種特殊的對象。調用函數時,某個參數未設置任何值,這時就可以傳入,表示該參數為空。前端還是很有未來的下節(jié)內容細數實用黑科技二。 showImg(https://segmentfault.com/img/remote/1460000016507838); 前言 只有深入學精一門語言,學其他語言才能更好地舉一反三,觸類...
摘要:你首先需要了解的安全工具之一就是。是另一個可為進行安全漏洞掃描的工具。和相似,是的安全審核工具。和其他容器安全工具不同,使用創(chuàng)建自定義配置文件非常容易。月日,北京海航萬豪酒店,容器技術大會即將舉行。 網絡安全問題的重要性大概毋庸置疑,最近無數關于惡意軟件和安全漏洞的消息已充分證明了這一點。 假如你要管理一個Docker環(huán)境,并希望幫助自己的公司或用戶在下一個大漏洞來臨時避免遇到麻煩,那...
摘要:你首先需要了解的安全工具之一就是。是另一個可為進行安全漏洞掃描的工具。和相似,是的安全審核工具。和其他容器安全工具不同,使用創(chuàng)建自定義配置文件非常容易。月日,北京海航萬豪酒店,容器技術大會即將舉行。 網絡安全問題的重要性大概毋庸置疑,最近無數關于惡意軟件和安全漏洞的消息已充分證明了這一點。 假如你要管理一個Docker環(huán)境,并希望幫助自己的公司或用戶在下一個大漏洞來臨時避免遇到麻煩,那...
閱讀 4083·2023-04-26 01:48
閱讀 3258·2021-10-13 09:40
閱讀 1739·2021-09-26 09:55
閱讀 3614·2021-08-12 13:23
閱讀 1780·2021-07-25 21:37
閱讀 3432·2019-08-30 15:53
閱讀 1393·2019-08-29 14:16
閱讀 1397·2019-08-29 12:59