小編給大家分享一下js中startsWith函數(shù)不能在任何瀏覽器兼容怎么辦,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)憑借在網(wǎng)站建設(shè)、網(wǎng)站推廣領(lǐng)域領(lǐng)先的技術(shù)能力和多年的行業(yè)經(jīng)驗(yàn),為客戶提供超值的營銷型網(wǎng)站建設(shè)服務(wù),我們始終認(rèn)為:好的營銷型網(wǎng)站就是好的業(yè)務(wù)員。我們已成功為企業(yè)單位、個人等客戶提供了成都網(wǎng)站制作、成都做網(wǎng)站服務(wù),以良好的商業(yè)信譽(yù),完善的服務(wù)及深厚的技術(shù)力量處于同行領(lǐng)先地位。在做js測試的時候用到了startsWith函數(shù),但是他并不是每個瀏覽器都有的,所以我們一般要重寫一下這個函數(shù),具體的用法可以稍微總結(jié)一下
在有些瀏覽器中他是undefined 所以我們可以這樣的處理一下、
if (typeof String.prototype.startsWith != 'function') { String.prototype.startsWith = function (prefix){ return this.slice(0, prefix.length) === prefix; }; }
這個需要放在頁面剛要加載完成的函數(shù)里,不然不好使。
還有一種直接重寫 不過我沒測試過,你們可以測試一下:
String.prototype.startWith=function(str){ if(str==null||str==""||this.length==0||str.length>this.length) return false; if(this.substr(0,str.length)==str) return true; else return false; return true; }
有的說js中沒有startsWith 和endWith這兩個函數(shù)不過就算不聲明有些瀏覽器他還是可以用的,不過為了兼容性還是希望重寫一下。
if (typeof String.prototype.endsWith != 'function') { String.prototype.endsWith = function(suffix) { return this.indexOf(suffix, this.length - suffix.length) !== -1; }; }
采用正則表達(dá)式實(shí)現(xiàn)startWith、endWith效果函數(shù)
String.prototype.startWith=function(str){ var reg=new RegExp("^"+str); return reg.test(this); } //測試ok,直接使用str.endWith("abc")方式調(diào)用即可 String.prototype.endWith=function(str){ var reg=new RegExp(str+"$"); return reg.test(this); }
以上是“js中startsWith函數(shù)不能在任何瀏覽器兼容怎么辦”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司行業(yè)資訊頻道!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。