将属性添加到字符串对象时出现问题

Issue in Adding property to string object

本文关键字:问题 对象 字符串 属性 添加      更新时间:2023-09-26
var s = "Hi";
Date.now = function (){
    return new Date();
}
s.createdOn = function (){
    return new Date();
}
alert(s.createdOn()); // This is not working
alert(Date.now()); // This works fine

我是否违反了任何规则。因为我可以将新属性添加到 Date 类,但不能添加到字符串类。 为什么?

无法向字符串文本添加属性或方法的原因是,当您尝试访问文本的属性或方法时,Javascript 解释器会临时将字符串的值复制到新对象中,然后使用该对象的属性或方法。这意味着 String 文本只能访问字符串的默认属性或方法以及已添加为原型的属性或方法。

更多信息可以从此链接获得:

http://www.hunlock.com/blogs/The_Complete_Javascript_Strings_Reference

希望这对你有帮助


替换:

var s = "Hi";

var s = {};