Env*_*nve -1 javascript json object
var object={
firstString: 'You must register in order...',
secondString:'You must re-enter your password in order to...',
thirdString:'You must re-enter your password in order to...'
};
Run Code Online (Sandbox Code Playgroud)
如您所见,第二和第三个字符串是相同的.因为这在我现在使用的对象中多次发生,我想将第三个对象与第二个对象链接以节省一些字节
我尝试了以下但是它们不起作用
var object={
firstString:'You must register in order...',
secondString:'You must re-enter your password in order to...',
thirdString:this.secondString
};
var object={
firstString:'You must register in order...',
secondString:'You must re-enter your password in order to...',
thirdString:object.secondString
};
Run Code Online (Sandbox Code Playgroud)
谢谢
您无法在对象文字中构造自引用表达式.您必须使用另一个语句跟进声明初始化.
var object={
firstString='You must register in order...',
secondString:'You must re-enter your password in order to...',
};
object.thirdString = object.secondString;
Run Code Online (Sandbox Code Playgroud)
如果您真的想在单个表达式中初始化变量,可以使用以下函数:
var object = function() {
var o = {
firstString='You must register in order...',
secondString:'You must re-enter your password in order to...',
};
o.thirdString = o.secondString;
return o;
}();
Run Code Online (Sandbox Code Playgroud)
请注意,现代JavaScript VM内核在某些情况下会注意到重复的字符串常量,并优化掉冗余并非不可能.我不知道他们是否这样做.