使用javascript对象时未定义错误

Sha*_*ean 4 javascript backbone.js

用代码更好地解释一下,有没有办法绕过这个错误?我试图模拟命名空间.

window.SomeNamespace = {
        Notification: Backbone.Model.extend(),
        Notifications: Backbone.Collection.extend({
            model: SomeNamespace.Notification //error here. SomeNamespace is not defined
        }),
};
Run Code Online (Sandbox Code Playgroud)

Thi*_*ter 5

window.SomeNamespace因此,SomeNamespace直到执行权的右侧才会定义全局=.所以你必须将它分成两部分.

window.SomeNamespace = {
        Notification: Backbone.Model.extend(),
};


window.SomeNamespace.Notifications = Backbone.Collection.extend({
    model: SomeNamespace.Notification
});
Run Code Online (Sandbox Code Playgroud)

当然,您可以通过使用该extend()方法以更好的方式完成它.