为什么切片不起作用?



我是新的Javascript,我正试图写一个chrome扩展。

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

目前,我有:

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

但是没有用,没有东西被切掉。我感觉我的语法有问题,因为我还在学习。任何帮助都是感激的。

Slice不能"in place"工作,而是返回值:

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"

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

所以slice()实际上不会修改文本中的值,要使它工作,你应该输入

text = text.slice(0,2);

相关内容

最新更新