为了简化我的问题,假设我有以下脚本:

var sPath = "/page/script/";
if (sPath.length != sPath.lastIndexOf("/"))
    sPath = sPath + '/';
// do something else


为什么它没有进入条件条件?为什么是差异值?

最佳答案

因为sPath.length13,但是它的最后一个字符是字符串(并且lastIndexOf('/'))是12th,因为Javascript矢量从0n

例如,字符串“ ABC”的长度为3,但其位置为012

但是,这应该起作用:

var sPath = "/page/script/";
if ((sPath.length-1) != sPath.lastIndexOf("/"))
    sPath = sPath + '/';


JSFiddle示例:http://jsfiddle.net/zGyAa/

关于javascript - Javascript string.length和string.lastIndexOf差异值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11092314/

10-10 00:00