成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

細(xì)數(shù)JavaScript中那些神乎其神的技巧

Sleepy / 903人閱讀

摘要:閑來無事,整理一下中那些神乎其神的技巧,假裝大牛的樣子字符串轉(zhuǎn)換為數(shù)字同樣可用于日期轉(zhuǎn)換為數(shù)值數(shù)值向下取整字符串轉(zhuǎn)換為數(shù)值并取整謝謝開始學(xué)習(xí)前端指正,該取整直接去除小數(shù)點(diǎn)后數(shù)字,僅對正數(shù)有效函數(shù)設(shè)置默認(rèn)值為時(shí)最后都得到變量值交換使用

閑來無事,整理一下JavaScript中那些神乎其神的技巧,假裝大牛的樣子 1. 字符串轉(zhuǎn)換為數(shù)字
    var a = "123";
    console.log(+a);         // 123
    console.log(typeof +a);  // number

    // 同樣可用于日期轉(zhuǎn)換為數(shù)值:
    var b = +new Date();     // 1468545682168
2. 數(shù)值向下取整
    var a = ~~3.14;   // 3
    var b = 3.14>>0;  // 3
    var c = 3.14|0;   // 3
3. 字符串轉(zhuǎn)換為數(shù)值并取整
    var a = "3.14"|0;  // 3
    var b = "3.14"^0;  // 3

謝謝 @開始學(xué)習(xí)前端 指正,該取整直接去除小數(shù)點(diǎn)后數(shù)字,僅對正數(shù)有效

4. 函數(shù)設(shè)置默認(rèn)值
    function func(arg){
        var arg = arg || "default"; 
        // arg 為 undefined, null, "", 0, false, NaN 時(shí)最后都得到"default"
    }
5. 變量值交換
    var a = 1,
        b = 2;
    a = [b, b = a][0];
    console.log(a);  // 2
    console.log(b);  // 1
6. 使用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 = 2
7. 截?cái)鄶?shù)組
    var arr = [1, 2, 3, 4, 5, 6];
    arr.length = 3;
    console.log(arr);  // [1, 2, 3]
8. 提高遍歷較大Enumerable數(shù)據(jù)的性能
    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]);
    }

    // 或者(!注意:若數(shù)組中鍵值存在undefined、null、0、false等數(shù)據(jù)時(shí)會中斷遍歷)
    for(var i = 0, a; a = arr[i++];) {
        console.log(a);
    }
9. 使用 && 替代單一條件判斷
    // 你可能這樣寫過
    if(!token) {
        login();
    }
    // 其實(shí)這樣也可以
    !token && login();
    // 或
    token || login();
10. 檢測 對象/數(shù)組 中是否有指定 屬性/元素
    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

謝謝 @zaaack 指正,數(shù)組的存在檢測實(shí)質(zhì)上是檢測的是數(shù)組下標(biāo)

11. 通過閉包調(diào)用setTimeout
    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 函數(shù)式編程:柯里化的變型應(yīng)用 | 熊D博客

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/81095.html

相關(guān)文章

  • 細(xì)數(shù) JavaScript 實(shí)用黑科技(二)

    摘要:前言書接上文細(xì)數(shù)實(shí)用黑科技一本文介紹獨(dú)孤九劍和兩篇最高內(nèi)功心法。可以將變量轉(zhuǎn)換為布爾值??梢园讶魏晤愋偷闹缔D(zhuǎn)換為布爾值,并且只有當(dāng)這個(gè)變量的值為的時(shí)候才會返回,其他情況都返回。同樣的,函數(shù)體內(nèi)部聲明的函數(shù),作用域綁定函數(shù)體內(nèi)部。 showImg(https://segmentfault.com/img/remote/1460000016507838); 前言 書接上文:細(xì)數(shù) JavaS...

    馬忠志 評論0 收藏0
  • 細(xì)數(shù) JavaScript 實(shí)用黑科技(一)

    摘要:小汪經(jīng)過實(shí)踐得出以下用途??諗?shù)組的類型也是,這表示在內(nèi)部,數(shù)組本質(zhì)上只是一種特殊的對象。調(diào)用函數(shù)時(shí),某個(gè)參數(shù)未設(shè)置任何值,這時(shí)就可以傳入,表示該參數(shù)為空。前端還是很有未來的下節(jié)內(nèi)容細(xì)數(shù)實(shí)用黑科技二。 showImg(https://segmentfault.com/img/remote/1460000016507838); 前言 只有深入學(xué)精一門語言,學(xué)其他語言才能更好地舉一反三,觸類...

    ConardLi 評論0 收藏0
  • 細(xì)數(shù)你不得不知容器安全工具

    摘要:你首先需要了解的安全工具之一就是。是另一個(gè)可為進(jìn)行安全漏洞掃描的工具。和相似,是的安全審核工具。和其他容器安全工具不同,使用創(chuàng)建自定義配置文件非常容易。月日,北京海航萬豪酒店,容器技術(shù)大會即將舉行。 網(wǎng)絡(luò)安全問題的重要性大概毋庸置疑,最近無數(shù)關(guān)于惡意軟件和安全漏洞的消息已充分證明了這一點(diǎn)。 假如你要管理一個(gè)Docker環(huán)境,并希望幫助自己的公司或用戶在下一個(gè)大漏洞來臨時(shí)避免遇到麻煩,那...

    劉德剛 評論0 收藏0
  • 細(xì)數(shù)你不得不知容器安全工具

    摘要:你首先需要了解的安全工具之一就是。是另一個(gè)可為進(jìn)行安全漏洞掃描的工具。和相似,是的安全審核工具。和其他容器安全工具不同,使用創(chuàng)建自定義配置文件非常容易。月日,北京海航萬豪酒店,容器技術(shù)大會即將舉行。 網(wǎng)絡(luò)安全問題的重要性大概毋庸置疑,最近無數(shù)關(guān)于惡意軟件和安全漏洞的消息已充分證明了這一點(diǎn)。 假如你要管理一個(gè)Docker環(huán)境,并希望幫助自己的公司或用戶在下一個(gè)大漏洞來臨時(shí)避免遇到麻煩,那...

    zhoutk 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<