cra*_*ice 0 javascript html5 windows-runtime winjs windows-store-apps
我正在学习使用java-script和html5创建Windows 8商店应用程序.我的问题是,如果我需要为这个项目创建一些类库,可以使用javascript/html5创建它们.
使用HTML和JavaScript为Windows应用商店应用创建可重用的JavaScript库非常简单.
首先创建一个新的JavaScript文件,您可以使用任何您喜欢的名称(理想情况下应该是唯一的名称),例如myMathLib.js.
使用模块模式启动库,就像这样(请注意,最后的parens将导致匿名函数内的所有代码在加载文件时立即执行,这对于设置变量,对象等很有用,有时会引用作为一个立即调用的函数表达式):
(function () {
// your library code
})();
Run Code Online (Sandbox Code Playgroud)
除非您明确选择公开它,否则这将防止匿名函数内的任何变量或对象对外界可见.
接下来,添加您希望库具有的任何变量和/或函数.例如,如果我们要构建一个数学库,我们可能会有一个add函数:
(function () {
function add(num1, num2) {
return num1 + num2;
}
})();
Run Code Online (Sandbox Code Playgroud)
显然,此时库不是很有用,因为库外的代码无法访问add函数.因此,对于Windows应用商店应用,我们可以使用方便的WinJS.Namespace.define函数:
(function () {
WinJS.Namespace.define('myMathLib', {
addTwoNumbers: add
});
function add(num1, num2) {
return num1 + num2;
}
})();
Run Code Online (Sandbox Code Playgroud)
要定义命名空间及其成员,我们首先传递命名空间的名称,我们将通过它来引用成员(在本例中为"myMathLib"),然后传递一个具有一个或多个名称/值对的对象,其中name是我们从库外部引用成员的名称,值是内部名称.这意味着我们可以在内部和外部使用不同的名称.
我们的简单JavaScript库已经可以使用了.要使用它,我们需要在HTML页面中引用它,就像我们使用任何其他JavaScript文件一样,通过添加引用我们文件的标记:
<script src="/js/myMathLib"></script>
Run Code Online (Sandbox Code Playgroud)
然后在该页面的JavaScript中,我们可以使用以下命令来执行我们的库函数:
var num1 = 2, num2 = 40, result;
result = myMathLib.addTwoNumbers(num1, num2)
// result = 42
Run Code Online (Sandbox Code Playgroud)
您可以使用此技术来构建可重用的库,这些库可以根据您的需要进行简单或复杂的操作.另一个有用的WinJS实用程序是WinJS.Class.define(以及WinJS.Class中的其他函数),它们有助于在JavaScript中创建类型.
希望这可以帮助!
有关Windows应用商店应用开发的更多信息,请注册App Builder.