javascript - 字符串的动态组合

标签 javascript string dynamic composition

是否有可能以某种方式动态地组成一个字符串?我读过一些关于按值传递和按引用传递的内容,因此我将所有字符串创建为对象。

例子:

var foo = {str: 'foo'};
var bar = {str: foo.str + 'bar'};
var baz = {str: bar.str + 'baz'};
foo.str = 'fuu';
console.log(baz.str); //expected 'fuubarbaz', got 'foobarbaz

提前致谢!

最佳答案

不,当你像那样静态地定义事物时,它们将在调用时使用变量。你可以用 getters 做这样的事情虽然:

let foo = {str: 'foo'};
let bar = {get str() { return foo.str + 'bar'; }};
let baz = {get str() { return bar.str + 'baz'; }};
foo.str = 'fuu';
console.log(baz.str); // properly outputs `fuubarbaz`

之所以可行,是因为 setter/getter 的魔力;您不是静态定义属性,而是定义一个在尝试访问该属性时被调用的函数。这样它就可以对任何下游变化做出“ react ”,因为它总是动态生成的。

关于javascript - 字符串的动态组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53496126/

相关文章:

算法击键动力学

javascript - 具有恒定比例且始终为屏幕高度的 100% 的 Div

javascript - 我们可以使用 javascript 在 http 请求中添加引荐来源网址吗?

python - 检查 'partial' 字符串列表是否在完整字符串列表中

php - 有没有办法用西类牙语比较两个字符串,而不管 PHP 中的重音如何?

java - 使用 aChartEngine 绘制传感器数据的动态图 - Android

php - 基于 URL 生成动态元标记

javascript - 表单提交不等待甜蜜警报确认

javascript - 单击 "continue"按钮 Javascript 时单选按钮验证

java - java中如何将String数组改为ArrayList