JavaScript String.prototype.split()调用单个字符的奇怪行为

时间:2018-02-01 14:38:42

标签: javascript

我打开网址http://localhost,我加载了我的js脚本。

在我的js脚本中执行:

'use strict';

    var path = window.location.pathname;

    console.log(path); // it prints /

    var arr = path.split('/');

    if (arr.length === 0) { //actual length is 2
        console.log('test'); //not executed
    }

因此不会打印test而我的arr包含两个元素并且它们是空的。为什么数组的长度等于2?

1 个答案:

答案 0 :(得分:2)

您位于/(服务器的根目录)。如果您在/中使用split作为分隔符,则会有n+1个元素,n是字符串中分隔符的数量。

换句话说,最终path等于[THING 1]/[THING 2](两者都是空字符串),它会为您提供包含arr的{​​{1}}。

您的['', '']长度为2,两个元素都是空字符串。