为什么不切片工作?

HDC*_*rus 2 javascript

我是Javascript的新手,我正在尝试编写chrome扩展.

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

目前,我有:

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

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

ame*_*hes 9

切片不能"就地"工作但返回值:

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

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

text = text.slice(0,2);
Run Code Online (Sandbox Code Playgroud)

此外,从您的问题来看,听起来好像您正试图删除前两个字母.那就是

var text = "Hello World";
text = text.slice(2);
// will be "llo World"
Run Code Online (Sandbox Code Playgroud)


小智 5

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

所以slice()实际上并没有修改文本中的值,为了使它工作,你应该把

text = text.slice(0,2);
Run Code Online (Sandbox Code Playgroud)