为什么我不能做这样的事情:
string.replace(this.slice(0,1), '');
错误日志:
TypeError: this.slice is not a function
答案 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。无论哪种方式,它都不是指您正在调用的字符串替换。