String.prototype.replace函数中的Javascript'the'关键字

时间:2016-10-11 18:23:08

标签: javascript string replace this slice

为什么我不能做这样的事情:

string.replace(this.slice(0,1), '');

错误日志:

TypeError: this.slice is not a function

4 个答案:

答案 0 :(得分:4)

要删除字符串的第一个字符,请执行以下操作:

string = string.substring(1);

答案 1 :(得分:0)

要删除第一个字符,请尝试此

string.replace(/^./, '');

string.slice(1)

示例:

var st = "hello";

var a = st.replace(/^./, ''); // "ello"
var b = st.slice(1); // "ello"

答案 2 :(得分:0)

或者,你的方式......

var str = "HOME";
console.log(str.replace(str.slice(0,1), ''));

答案 3 :(得分:0)

要在维护原始代码时解决此问题,可以使用以下代码:

let string = "string";
let newString = string.replace(string.slice(0,1), '');
console.log(newString);

但这只是一种迂回的方式,只删除第一个字符,它也将替换字符串中第一个字符的任何其他出现。

您可以使用slice方法返回从原始字符串中删除第一个字符的字符串:

let string = "string";
let newString = string.slice(1);
console.log(newString)

除非您打算占用第一个字母的空间。

记住:这是指被调用函数的执行上下文。假设您正在调用string.replace(this.slice(0,1),''); 在没有启用严格模式的全局上下文中,这将引用全局对象。如果您启用了严格模式,那么这将引用undefined。无论哪种方式,它都不是指您正在调用的字符串替换。