国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

其實,只是再多想一點

aboutU / 2842人閱讀

摘要:按照這個說法,在還是行不通的,應該得到,得到沒問題,有些摸不到邊了,所以自定義一下這個方法以便備用總結日益強大,各種語言逐步向它靠近。開發中一般時間很緊迫,好多東西都沒工夫想,所以還有很多要優化的地方,有時候,放慢腳步,可能也是一種進步吧

Jquery再熟悉不過,其中的$.ajax封裝也不陌生,其中
$.ajax({
    url:url,
    type:"GET",
    data:data,
    success:function(res){
        
    },
    error:function(err){
        
    }
});

以前比較喜歡success固定回調這種寫法,很清晰
接下來實現success和error這種語法

var $={
    ajax(call){
        if(call.bol){
          call.success("成功的回調");  
        }else{
            console.error("bol is undefined");//提示
        }
    }
}

調用:

$.ajax({
    bol:false,//切換bol存在即可調用成功回調
    success:function(res){
        console.log(res);
    },
    error:function(err){
        console.log(err);
    }
});
類似物流信息,后臺返回一個字符串,前端識別出連續的11位數字,并且可撥打電話

做這里的時候,想要跟后臺多要一個字段為電話,前端再a標簽直接包起來。但是后臺接的也是三方,三方返回就是一個整串......
后來仔細想想這個流程,即使后臺多給一個字段,這需求一樣做不完美
比如這個串是這樣的:

"您的快遞正在配送,配送員電話:17600699305,某某快遞持續為您服務"

后臺分了倆字段
"str1=您的快遞正在配送,配送員電話:,某某快遞持續為您服務" str2="17600699305"
這個str2插到str1的哪里呢?顯然也不好弄。
那還不如不麻煩后臺,前端自己消化。
"識別連續的11位數字",第一想到的就是正則:

var str="您的快遞正在配送,配送員電話:17600699305,某某快遞持續為您服務",strCon=str.match(/d{11}/);

match符合條件會返回一個數組,包含 匹配到的內容,內容的開始下標,整個內容,還有個groups(求釋義)
接下來封裝實現:

function continuFunc(str){
    var strBol=str.match(/d{11}/);
    if(strBol){
       return strBol.input.slice(0,strBol.index)+""+strBol[0]+""+strBol.input.slice(strBol.index+strBol[0].length,str.length);
    }
}

就是分成三個部分返回,以匹配到的11位連續數字為節點,前后各為兩部分,再進行拼接。
index就是匹配區的開始下標,所以第一部分從0取到下標,第二部分已經返回,第三部分取index+字符長度(11)——結尾

toFixed()方法如何實現(保留n位小數)

剛開始看到是不是很慌,這方法調用的時候都是Number.toFixed(),而常規的函數封裝都是

function Func(argu){
    return argu;
}

調用都是Func("調用");,很慌。
這種函數基本都是綁定在原型上的,不難發現,調用toFixed方法的都是Number類型,所以toFixed方法應該就是綁定在Number的prototype了,接下來分析內部實現問題

Number.prototype.toDiyFixed=function(n){
    return (Math.round(this * Math.pow( 10, n ))/ Math.pow( 10, n)).toString();
}

調用var num=100.123, a.toDiyFixed(2)得到100.12。
toDiyFixed方法就成功的copy了toFixed方法。
a=100.123這個例子講實現原理:把原數 num先乘以100(n是多少就乘以10的幾次方),再進行四舍五入,(去除小數兩位之后的小數,因為乘以100以后,前兩位小數已經變為整數部分,四舍五入操作就不會影響了),至此完成保留2(n)位小數的操作。
注意:但是,這個方法有個問題,就是不會自動向末尾補0,比如說100.196保留兩位小數應該得到100.20,但是該方法只能拿到100.2,100.201應該得到100.20,但該方法得到100.2,目前還沒想到解決辦法,歡迎一起交流探討,但是基礎功能可以實現.
另外說個原生toFixedbug:
0.7.toFixed(0)發現得到的是1(IE)
0.0350.045保留兩位小數后得到的都是0.04(Chrom),當然如果覺得這點誤差無所謂,10.3510.45保留兩位小數得到10.310.4發現都是錯的,這是不容小覷的數字了吧,后來查閱資料說,jstoFixed方法用的是”銀行家算法“,實質就是 ”四舍六入無成雙“,那啥意思呢,當舍去位的數值小于5時,直接舍去該位;當舍去位的數值大于等于6時,在舍去該位的同時向前位進一;當舍去位的數值等于5時,如果前位數值為奇,則在舍去該位的同時向前位進一,如果前位數值為偶,則直接舍去該位。
按照這個說法,在Chrom還是行不通的,10.35應該得到10.4,10.45得到10.4沒問題,有些摸不到邊了,所以自定義一下toDiyFixed這個方法以便備用

總結:

javaScript日益強大,各種語言逐步向它靠近。(??) 開發中一般時間很緊迫,好多東西都沒工夫想,所以還有很多要優化的地方,有時候,放慢腳步,可能也是一種進步吧!

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/96161.html

相關文章

  • 數據結構與算法的javaScript描述-前言[苦逼的失業中年]

    摘要:還以為我是一個失業青年,后來想想,后已經是中年了。對于各路框架,還是根據業務需求去學習比較好,相信自己的學習能力。我還是先鞏固一下數據結構和算法吧。數據結構與算法的描述針對自己目前所處的環境,就用來描述常用的數據結構跟常用的算法。 失業中年 前段時間,帶我出道的CTO要帶我去創業,然后,之前談好的技術方案在我過去之后都沒能開始,怪可惜的,甚至,他自己都背鍋離職了。再后來,股東突然撤資了...

    tanglijun 評論0 收藏0
  • vue中select綁定多個值及回顯

    摘要:對于第一種方式,回顯時只需要將從后臺獲取的數據拼接在一起就行,對于第二種方式,需要去進行循環對比,找出對應的索引值然后進行賦值,具體代碼在這里。 距離上篇文章已經快九個月了,我是不是墮落了。。這篇文章主要是記錄我在項目中遇到的一個小問題,其實說小也不小,在去年剛接觸vue的時候,對于select如何綁定多個值這個問題一度讓我不知所措。剛開始完全沒接觸過vue和elementUI直接上手...

    Shimmer 評論0 收藏0
  • 圖文 視頻雙管齊下,帶你全面徹底理解Retrofit源碼,Android開發五年

    摘要:協程的判斷條件下面我們來著重看下的源碼,因為從這里開始就涉及到協程的判斷。第二點是關鍵點,用來判斷該方法的調用是否使用到了協程。原理我們先來看下使用協程是怎么寫的這是一個標準的協程寫法,然后我們再套用上面的條件,發現完全匹配不到。 第一眼看,跟我之前印象中的有點區別(也不知道是什么版本),return的時候居然...

    不知名網友 評論0 收藏0

發表評論

0條評論

aboutU

|高級講師

TA的文章

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