Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.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 我应该如何组织代码,以便在WinJS应用商店的多个页面中看到类的实例?_Javascript_Windows Store Apps_Winjs - Fatal编程技术网

Javascript 我应该如何组织代码,以便在WinJS应用商店的多个页面中看到类的实例?

Javascript 我应该如何组织代码,以便在WinJS应用商店的多个页面中看到类的实例?,javascript,windows-store-apps,winjs,Javascript,Windows Store Apps,Winjs,(示例取自) 如果我将robot类存储在主页上的default.js文件之后 // robot.js (function () { var Robot = WinJS.Class.define(function (name) { this.name = name; }, { modelName: "" }, { harmsHumans: false, obeysOrders: true } );

(示例取自)

如果我将robot类存储在主页上的default.js文件之后

// robot.js
(function () {
     var Robot = WinJS.Class.define(function (name) {
            this.name = name;
        },
        { modelName: "" },
        { harmsHumans: false, obeysOrders: true }
    );

    WinJS.Namespace.define("Robotics", {
        Robot: Robot
    });
})();
在page1.js中,我创建了机器人的一个实例

// page1.js
var myRobot = new Robotics.Robot("Sam");
var harm = Robotics.Robot.harmsHumans;
从page2.js访问myRobot实例的最佳方式是什么

// page2.js
console.log(myRobot.name);
我看过WinJS名称空间,但我看到的所有示例都显示从同一页面访问实例


我应该将实例存储在某种类型的存储器中吗

WinJS名称空间只是将名称空间名称(例如Robotics)作为变量添加到全局名称空间中,因此可以从代码中的任何其他位置从该根名称访问名称空间中放置的任何内容(例如Robotics.Robot)。这意味着您可以在robot.js中,然后在page1.js中设置Robotics.robotInstance=myRobot;将另一个成员(如robotInstance:null)添加到名称空间定义中。page2.js就可以访问Robotics.robotInstance,没问题

底线是WinJS名称空间只是一种保持全局名称空间有组织和整洁的约定,但除此之外,它只是全局变量。没有魔法