【发布时间】:2013-09-05 23:15:47
【问题描述】:
这是我的功能:
CSS_Left = '450px';
CSS_Left.replace('px', '');
alert(CSS_Left);
它返回'450px'
这是一个例子:
我希望它用任何内容替换“px”。
【问题讨论】:
-
谷歌“javascript替换”并查看任何结果真的很难吗?他们将展示如何正确使用此方法。
标签: javascript
这是我的功能:
CSS_Left = '450px';
CSS_Left.replace('px', '');
alert(CSS_Left);
它返回'450px'
这是一个例子:
我希望它用任何内容替换“px”。
【问题讨论】:
标签: javascript
在 JavaScript 中,Strings 是不可变的。
除了对象之外的所有类型都定义了不可变的值。具体来说,字符串是不可变的(例如,与 C 不同)。
所以,str.replace 返回一个新字符串。试试这个:
CSS_Left = CSS_Left.replace('px', '');
或者如果您不想覆盖原始字符串,只需在alert 调用中进行操作
alert(CSS_Left.replace('px', ''));
值得注意的是,.replace 也可以采用正则表达式。尽管在您的情况下没有必要,但您可以执行类似的操作来获得相同的结果
CSS_Left = CSS_left.replace(/px$/, '');
【讨论】:
因为.replace() 返回一个新字符串。如果你想更新旧字符串,你应该写:
CSS_Left = CSS_Left.replace('px', '');
【讨论】:
我不确定,但是函数 replace() 创建了一个新变量。 试试这个:
var CSS_Left = '450px';
CSS_Left = CSS_Left.replace('px', '');
alert(CSS_Left);
【讨论】:
replace 调用的输出需要重新分配给 CSS_Left
【讨论】: