Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript或jQuery将值全局变量绑定到对象_Javascript_Jquery - Fatal编程技术网

使用Javascript或jQuery将值全局变量绑定到对象

使用Javascript或jQuery将值全局变量绑定到对象,javascript,jquery,Javascript,Jquery,我有一个声明如下的对象(它的值是一个全局变量): 执行其他方法后的步骤,并且该值会更改,但是如果要在对象中使用该值,则这是未定义的 监听器似乎只针对DOM元素,而不针对值,有没有一种方法可以将对象上的值绑定到变量或更新对象中的值的东西 下面是我想要实现的一个示例: 提前感谢您的小提琴中的代码: var json = { foo : window.bar } window.some = 'bar'; alert(json.foo); 构造jsonExample对象时,window.b

我有一个声明如下的对象(它的值是一个全局变量):

执行其他方法后的步骤,并且该值会更改,但是如果要在对象中使用该值,则这是
未定义的

监听器似乎只针对DOM元素,而不针对值,有没有一种方法可以将对象上的值绑定到变量或更新对象中的值的东西

下面是我想要实现的一个示例:


提前感谢您的小提琴中的代码:

var json = {
    foo : window.bar
}

window.some = 'bar';

alert(json.foo);
构造jsonExample对象时,window.bar的值尚未设置。因此,jsonExample.foo被设置为未定义。试试这个:

window.bar = 'bar';

var json = {
    foo : window.bar
}

alert(json.foo);

example.foo
在您执行对
example
的赋值时即未定义:
window.bar
的值此时已解析,但在您的案例中尚不存在。。。因此
未定义

如果要维护对将来可能发生变化的对象的引用,请在分配给
示例
之前,首先定义
window.bar
,并将其定义为对象。然后,切勿将值重新指定给
window.bar
,而只能对其进行修改:这样引用将保持共享:

window.bar={};//一个物体,用于以后的变异。
var obj={
foo:window.bar//对上述对象的引用
}
window.bar.message=“这很有效!”;

控制台日志(obj.foo)。请阅读
json
标记说明。谢谢,我刚刚根据您的建议编辑了我的问题。我在哪里可以找到有关mutator及其工作原理的更多信息?我建议阅读JavaScript传递参数的方式:。这不是完全相同的主题,但我认为如果你理解了这一点,你会看到当你给一个变量分配一个新值时会发生什么,而不是当你改变它时会发生什么,也就是说,你改变了变量(对象)值的属性值,但不通过直接赋值来改变变量。
window.bar = 'bar';

var json = {
    foo : window.bar
}

alert(json.foo);