在dojo模块中引用父级的JSON/javascript成员函数
JSON/javascript member function referencing parent in dojo module?
不确定我能正确地说出这个词,所以这里有一些代码:
注意:这是在一个名为.js的文件中,该文件是一个dojo模块
define([], function() {
var j = {
a : function() {
//a object
},
b : function() {
//b object
this.x = new j.a();// this works
this.y = new this.a(); // this causes error later, see jsfiddle link below
},
c : function() {
//c object
}
}
return j;
});
我只是想让对象b在创建一个新的"a"对象时作为新对象(b的父对象)。a();而不是新的j.a();其中变量j恰好是b的父变量。不确定这个解释是否有帮助,但我基本上想要一种从b创建新的"a"对象的相对方法。
错误在此代码中重现:http://jsfiddle.net/WhhV5/3/
不知道如何在jsfiddle中运行dojo,所以代码可能不会运行,但这是我的主页xamp
坦率地说,这里是你没有意义的地方:
换句话说,我想在j.b()中调用j.a(),j.c(),这样,如果我将var j的名称更改为var m,我就不必将函数调用更改为m.a()、m.c()。
您不能在JavaScript中更改变量的名称。变量是Objects
的引用,而不是Object
本身(即分配给数据结构的内存范围)。
如果用另一个变量m
引用j
引用的值,则j
仍将存在于内存中。您只需创建另一个对Object
的引用,j
也会引用该引用。你没有更改它的名称。
因此,如果您调用m#b
,它将毫无问题地调用j#a
和j#c
,因为j
仍然存在。
var j = {
a: function( ) { console.log("(!!) a") ; } ,
b: function( ) { new this.a( ) ; } ,
c: function( ) { console.log("(!!) b") ; } ,
} ;
var m = j ;
m.b( ) ;
相关文章:
- 更改json/javascript对象var名称或从数字var中检索值
- XML字符串转换为JSON javascript
- ASP.NET WebApi DateTimeOffset 序列化为 Json/JavaScript (angular2
- 对 JSON JavaScript 中的值应用折扣
- 使用JSON/JavaScript将成员添加到Office 365组
- 格式不正确的json/javascript
- Json javascript parsing
- JSON JavaScript 未定义的变量问题
- 在 JSON/Javascript 中表示一天中的时间的首选方法
- XML 到 JSON JavaScript 函数不起作用
- loop through json javascript
- 在 Rails 中对 JSON/Javascript 解析的正确过程
- 在 JSON JavaScript 中查找和替换
- JSON / JavaScript 获取对象键
- 过滤嵌套的 JSON JavaScript
- 将不带属性的值附加到 json javascript
- JSON+Javascript/jQuery.如何从 json 文件导入数据并对其进行解析
- parse facebook json javascript
- 在嵌套的 json javascript 中显示数组的所有键值对
- 将两个 json/javascript 数组合并为一个数组