IE6和IE8下對(duì)js字符串截取函數(shù)substr兼容性問題

2014-03-16 11:33:42來源:oschina作者:

在低版本IE,測試發(fā)現(xiàn)IE8及以下版本對(duì)js字符串截取函數(shù)substr存在兼容性問題。

在低版本IE,測試發(fā)現(xiàn)IE8及以下版本對(duì)js字符串截取函數(shù)substr存在兼容性問題。

經(jīng)過測試發(fā)現(xiàn),substr函數(shù)在IE6和IE8下起始位置不支持負(fù)數(shù)。

例:txt = ‘Leiyu’;

alert(txt.substr(-1,1));

正常情況下(測試通過IE9,IE11和FF)應(yīng)該輸出‘u’,但是在IE6和IE8下卻輸出的為‘L’。

解決辦法:

alert(txt.substr(txt.length-1,1));

還可以使用substring()函數(shù),substring()和substr()的區(qū)別是:substring()兩個(gè)參數(shù)分別為起始位置,當(dāng)開始位置為負(fù)數(shù)時(shí),從第一個(gè)字符開始截取,而substr()的兩個(gè)參數(shù)是起始位置和長度,當(dāng)開始位置為負(fù)數(shù)時(shí),(IE9,IE11,F(xiàn)F默認(rèn)從最后一位從前數(shù),而IE6和IE8則從第一位開始截。

關(guān)鍵詞:substrjavascriptIE8

贊助商鏈接: