久久久久在线观看_又色又爽又黄的免费视频播放_一区中文字幕_日韩电影在线播放

今日焦點(diǎn) 焦點(diǎn)資訊 營銷之道 企業(yè)報道 淘寶運(yùn)營 網(wǎng)站建設(shè) 軟件開發(fā) 400電話
  當(dāng)前位置: 首頁 » 資訊 » 軟件開發(fā) » 正文

10個js常用函數(shù)

放大字體  縮小字體 發(fā)布日期:2018-02-22  來源:企業(yè)800網(wǎng)  作者:新格網(wǎng)  瀏覽次數(shù):114  【去百度看看】

1,對于cookie的操作,其中包括了設(shè)置、獲取、刪除cookie的操作。下面這個是我在公司的項目里面使用的工具庫里的方法,測試就不測試了

// setcookie()// @about 設(shè)置cookiefunction setcookie(name, value) {    var Days = 30;    var exp = new Date();
    exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);    document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
}// getcookie()// @about 獲取cookiefunction getcookie(name) {    var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));    if (arr != null) {        return (arr[2]);
    } else {        return "";
    }
}// delcookie()// @about 刪除cookiefunction delcookie(name) {    var exp = new Date();
    exp.setTime(exp.getTime() - 1);    var cval = getcookie(name);    if (cval != null) {      document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
    }
}

2,隨機(jī)返回一個范圍的數(shù)字。參數(shù)是兩個的時候,返回傳入的兩個參數(shù)的區(qū)間的隨機(jī)函數(shù);參數(shù)是一個的時候,返回0到這個數(shù)的隨機(jī)函數(shù);參數(shù)是零個的時候,返回0到255區(qū)間的整數(shù),大家可以根據(jù)自己的需要進(jìn)行擴(kuò)展

function randomNumber(n1,n2){    if(arguments.length===2){        return Math.round(n1+Math.random()*(n2-n1));
    }    
    else if(arguments.length===1){        return Math.round(Math.random()*n1)
    }    //    //    else{        return Math.round(Math.random()*255)
    }  
}

randomNumber(5,10) // 返回5-10的隨機(jī)整數(shù),包括5,10randomNumber(10)   // 返回0-10的隨機(jī)整數(shù),包括0,10randomNumber()     // 返回0-255的隨機(jī)整數(shù),包括0,255

3,到某一個時間的倒計時,傳入的參數(shù)以 (YYYY/MM/DD H:mm:ss)

function getEndTime(endTime){    var startDate=new Date();  //開始時間,當(dāng)前時間    var endDate=new Date(endTime); //結(jié)束時間,需傳入時間參數(shù)    var t=endDate.getTime()-startDate.getTime();  //時間差的毫秒數(shù)    var d=0,h=0,m=0,s=0;    if(t>=0){
      d=Math.floor(t/1000/3600/24);
      h=Math.floor(t/1000/60/60%24);
      m=Math.floor(t/1000/60%60);
      s=Math.floor(t/1000%60);
    } 
    return "剩余時間"+d+"天 "+h+"小時 "+m+" 分鐘"+s+" 秒";
}

getEndTime('2018/8/8 8:0:0') // "剩余時間172天 12小時 10 分鐘47 秒"

4,清除對象中值為空的屬性

function filterParams(obj){    let _newPar = {};    for (let key in obj) {        if ((obj[key] !== 0 && obj[key]) && obj[key].toString().replace(/(^\s*)|(\s*$)/g, '') !== '') {
            _newPar[key] = obj[key];
        }
    }    return _newPar;
}

filterParams({a:0, b:1, c:"010", d:null, e:undefined,f:false}) 
// 當(dāng)值等于0,null,undefined的時候,就會被過濾

這里涉及到了一個知識點(diǎn):&&和||運(yùn)算符的先后順序,我相信大部分的朋友都知道,我就簡單提一下:

  • return a && b || c ,
    根據(jù)a來判斷返回值,a 是 false 則肯定返回 c;如果 b , c 都是 true ,那么我們就可以根據(jù) a 來決定b 還是 c ,如果 a 是 false 則返回 c,如果a是true 則返回 b。

    var a = 3  &&  0 || 2;  //2
  • return a || b && c

    根據(jù)優(yōu)先級相當(dāng)于先算 b && c ,然后和a 相 或;如果a是true,則返回a,不論是b或c,如果a是false,則如果b是false,返回b,如果b是true,返回c;

    var b = 3 || 0  &&  2; // 3var c= 0 || 2 && 3; // 3

更多操作大家可以參考JS運(yùn)算符&&和|| 及其優(yōu)先級。


5,獲取,設(shè)置url參數(shù),url 參數(shù)就是其中 ? 后面的參數(shù)

function getUrlPrmt(url) {
    url = url ? url : window.location.href;    let _pa = url.substring(url.indexOf('?') + 1), _arrS = _pa.split('&'), _rs = {};    for (let i = 0, _len = _arrS.length; i < _len; i++) {        let pos = _arrS[i].indexOf('=');        if (pos == -1) {            continue;
        }        let name = _arrS[i].substring(0, pos), value = window.decodeURIComponent(_arrS[i].substring(pos + 1));
        _rs[name] = value;
    }    return _rs;
}

結(jié)果如下:

1505342-0152eb4a4f3409ab.png

demo_5.png

這里是設(shè)置url參數(shù)的函數(shù),如果對象中有nullundefined,則會自動過濾。

function setUrlPrmt(obj) {    let _rs = [];    for (let p in obj) {        if (obj[p] != null && obj[p] != '') {
            _rs.push(p + '=' + obj[p])
        }
    }    return _rs.join('&');
}

setUrlPrmt({a:'0', b:1, c:"010", d:null, e:undefined,f:false}) // "a=0&b=1&c=010"

6,獲取文件后綴名的方法,參數(shù)的file_name,即傳進(jìn)來的文件;返回值是擴(kuò)展名、后綴名的位置下標(biāo)以及文件名

function getSuffix(file_name) {    var result = /[^\.]+$/.exec(file_name);    return result;
}

getSuffix('1234.png') // ["png", index: 5, input: "1234.png"]getSuffix('1231344.file'); // ["file", index: 8, input: "1231344.file"]

7,查看瀏覽器是否支持某一個css3的屬性,不如firefox瀏覽器中是不支持-webkit-開頭的屬性的

function supportCss3(style) {    var prefix = ['webkit', 'Moz', 'ms', 'o'],
        i,
        humpString = [],
        htmlStyle = document.documentElement.style,
        _toHumb = function(string) {            return string.replace(/-(\w)/g, function($0, $1) {                return $1.toUpperCase();
            });
        };    for (i in prefix)
        humpString.push(_toHumb(prefix[i] + '-' + style));
    humpString.push(_toHumb(style));    for (i in humpString)        if (humpString[i] in htmlStyle) return true;    return false;
}
這個是chorme中的結(jié)果:

1505342-486129382235a683.png

chorme1.png

這個是firefox中的結(jié)果:

1505342-4ddfa0163a6d78c0.png

firefox.png


8,怎么判斷一個對象是不是數(shù)組類型?

我們采取最常用的方法:根據(jù)對象的class屬性(類屬性),跨原型鏈調(diào)用toString()方法。

function _getClass(o){    return Object.prototype.toString.call(o).slice(8,-1);
}

_getClass(new Date()); // Date_getClass('maolei');   // String

此外如果你想要了解更多的判斷是不是數(shù)組類型的方法,可參考:判斷一個對象是不是數(shù)組類型


9,js的排序算法,這里就使用最簡單的冒泡排序,關(guān)于js的選擇排序算法,大家可以參考js十大排序算法詳解

function bubbleSort(arr) {    var len = arr.length;    for (var i = 0; i < len; i++) {        for (var j = 0; j < len - 1 - i; j++) {            if (arr[j] > arr[j+1]) {        //相鄰元素兩兩對比                var temp = arr[j+1];        //元素交換
                arr[j+1] = arr[j];
                arr[j] = temp;
            }
        }
    }    return arr;
}var arr=[3,44,38,5,47,15,36,26,27,2,46,4,19,50,48];
bubbleSort(arr);//[2, 3, 4, 5, 15, 19, 26, 27, 36, 38, 44, 46, 47, 48, 50] ;

10,最后是我在一個前端大神芋頭君live前端筆試題十講中聽到的一個題目:實現(xiàn)一個最簡單的模板引擎,感覺很有趣,就直接以這道題作為結(jié)尾吧

render('我是{{name}},年齡{{age}},性別{{sex}}',{
    name:'姓名',
    age:18,
    sex:'女'})

我們可以用正則表達(dá)式和replace解決:

var render = function(tpl,data){    return tpl.replace(/\{\{(.+?)\}\}/g,function(m,m1){        return data[m1]
    })
}

render('我是{{name}},年齡{{age}},性別{{sex}}',{    name:'姓名',    age:18,sex:'女',
}) 
// "我是姓名,年齡18,性別女"

相關(guān)推薦:

180多個PHP常用函數(shù)總結(jié)

MySQL中的常用函數(shù)詳解

php正則表達(dá)式中常用函數(shù)的詳解

以上就是10個js常用函數(shù)的詳細(xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!

 
關(guān)鍵詞: javascript,10個,常用
長春  短信群發(fā)  吉林省  紅視窗  中國  長春市  玉米  長春網(wǎng)站建設(shè)  網(wǎng)站  振華  設(shè)備  吉林  設(shè)計  廣州  撲克  聯(lián)合聲明  敘利亞  美國  長春上門維修電腦  內(nèi)蒙古  化武  新聞中心  指示  記者會  美國白宮  化學(xué)武器  塞內(nèi)加爾  白宮  圓桌  小雨  滿洲里  中消協(xié)  敘政府  日本  非洲  中國政府  消費(fèi)者  消費(fèi)者權(quán)益  強(qiáng)臺風(fēng)  北京市  經(jīng)濟(jì)  臺風(fēng)  中非  毒品  中非合作論壇  國家元首  突擊步槍  大阪  海外網(wǎng)  長春上門做系統(tǒng)  重慶市  網(wǎng)站建設(shè)  步槍  長春電腦上門維修  俄羅斯  長春上門修電腦  中國電影  制造  售前咨詢技巧  中國智能建筑節(jié)  政治  北斗導(dǎo)航  龍頭企業(yè)  侯建國,質(zhì)量,中國特色社會主義  產(chǎn)業(yè)園  中國芯  黨委  軍民  位置服務(wù)  長春北大青鳥  黨委書記  中國移動  AJAX  PHP  XML  f-35  特朗普  特朗普,貿(mào)易戰(zhàn),美國  中國軍網(wǎng)  政府  微博  銀河  發(fā)言人  今日頭條  RSS  發(fā)布會  美國人  州長  彈道導(dǎo)彈  一帶一路  塞申斯  運(yùn)載火箭  國際  長春國貿(mào)  小米  尼克松  中國市場  孫儷  短視頻  美國海軍陸戰(zhàn)隊 
 
[ 資訊搜索 ]  [ 加入收藏 ]  [ 告訴好友 ]  [ 打印本文 ]  [ 違規(guī)舉報 ]  [ 關(guān)閉窗口 ]

 
0條 [查看全部]  相關(guān)評論

 
網(wǎng)站首頁 | 關(guān)于我們 | 聯(lián)系方式 | 使用協(xié)議 | 版權(quán)隱私 | 網(wǎng)站地圖 | 排名推廣 | 廣告服務(wù) | 積分換禮 | 網(wǎng)站留言 | RSS訂閱 | 皖I(lǐng)CP備2021004516號-14
企業(yè)800網(wǎng) · 提供技術(shù)支持