为什么不能切片工作?

时间:2014-07-27 10:35:03

标签: javascript

我是Javascript的新手,我正在尝试编写Chrome扩展程序。

对于扩展名,如果用户输入字符串,我希望切掉前两个字符。

目前,我有:

if (text.charAt(0) == '/') {
    text.slice(0,2);
    chrome.tabs.create({
        url: "PrivateURL" + text
    });
} 

但它不起作用,没有任何东西被切掉。我觉得我的语法有问题,因为我还在学习。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:7)

切片不起作用"到位"但返回值:

var text = "Hello World";
console.log(text.slice(0,2));
// He
console.log(text);
// Hello World    (unchanged!)

您需要将其分配给变量,如下所示:

text = text.slice(0,2);

此外,根据您的问题,听起来好像您正试图删除前两个字母。那将是

var text = "Hello World";
text = text.slice(2);
// will be "llo World"

答案 1 :(得分:4)

字符串是不可变的,你不能修改字符串,但你可以对字符串做一些操作并返回一个新的字符串

所以slice()实际上并没有修改文本中的值,使其工作应该放

text = text.slice(0,2);