我正在学习使用java-script和html5创建Windows 8商店应用程序。我的问题是,如果我需要为这个项目创建一些类库,可以使用javascript/html5创建它们。使用javascript/hmlt5的类库项目。可能吗?
回答
使用HTML和JavaScript为Windows应用商店应用创建可重用的JavaScript库非常简单。
首先创建一个新的JavaScript文件,无论你喜欢什么名称(理想情况下都应该是唯一的东西),比如myMathLib.js。 (请注意,最终的parens将导致匿名函数中的所有代码在文件加载时立即执行,这对于设置变量,对象等很有用。 ,有时被称为立即调用的函数表达式):
(function() {
// your library code
})();
这将防止可见对外界的匿名函数内的任何变量或对象,除非你明确选择揭露它。
接下来,添加希望您的图书馆拥有的任何变量和/或函数。例如,如果我们正在建立一个数学库,我们可能有一个附加功能:
(function() {
function add(num1, num2) {
return num1 + num2;
}
})();
很显然,在这一点上库是不是很有用,因为在图书馆外的代码不能访问的附加功能。因此,对于一个Windows商店应用,我们可以使用得心应手WinJS.Namespace.define功能:
(function() {
WinJS.Namespace.define('myMathLib', {
addTwoNumbers: add
});
function add(num1, num2) {
return num1 + num2;
}
})();
要定义命名空间和它的成员,我们首先路过我们将参照的命名空间的名称成员(在本例中为'myMathLib'),然后是一个具有一个或多个名称/值对的对象,其中名称是我们将从库外引用成员的名称,值为内部名称。这意味着我们可以在内部与外部使用不同的名称。
我们简单的JavaScript库已经可以使用了。要使用它,我们需要引用它的HTML页面,因为我们与任何其他JavaScript文件,通过添加标签引用我们的文件:
<script src="/js/myMathLib"></script>
然后在JavaScript该页面,我们可以使用下面来执行我们的库函数:
var num1 = 2, num2 = 40, result;
result = myMathLib.addTwoNumbers(num1, num2)
// result = 42
您可以使用此技术来构建简单或因为你需要复杂的可重用的库。另一个有用的WinJS实用程序需要注意的是WinJS.Class.define(以及WinJS.Class中的其他函数),这有助于在JavaScript中创建类型。
希望这会有所帮助!
有关Windows应用商店应用开发的更多信息,请注册App Builder。
我不太清楚你问什么,但...
你总是可以创建可重用的JavaScript库。的确,有很多这样的例子(jquery,knockoutjs,原型等)。
如果你是JavaScript新手,学习类似jQuery的东西可以帮助你学习如何编写可重用的JavaScript代码。
- 1. 我可以将winRT项目引用添加到经典类库项目吗?
- 2. 我可以在BSD/X11许可项目中使用LGPL库吗?
- 3. 我可以在我的项目中使用Magento的类吗?
- 4. If/else语句与数据库中的foreach项目可能吗?
- 5. 编译与外部库的JAVA项目,这可能吗?
- 6. 在可可项目中使用boost库
- 7. VS的DLL项目可以使用/返回CLR类型吗?
- 8. 你可以使用javassist抓取项目中的所有类吗?
- 9. 我可以在Visual Studio单元测试(类库)项目中使用Xamarin.Forms.DependencyService吗?
- 10. 可能使用ActiveRecord :: Migration的基类吗?
- 11. 是否有可能使用ILMerge内化Castle项目的DynamicProxy类?
- 12. MvcMailer可以在类库中使用吗?
- 13. 在类库项目中使用ActionFilterAttribute(.NET)
- 14. 在c#中使用vb.net类库项目
- 15. 我可以在.NETCoreApp项目中使用.NETFramework项目吗?
- 16. ADF项目有可能参考另一个ADF项目吗?
- 17. 它可能在Visual Studio数据库项目中使用microsoft.web.services3?
- 18. 是否有可能在swift项目中使用.a库
- 19. maven可重用资源项目可能吗?
- 20. ExceptionLess类库项目
- 21. Nuget项目类库
- 22. C#类的方法只能从某些项目调用吗?
- 23. 我可以在类库项目中创建数据库连接吗?
- 24. iOS:调用标签栏项目的方法 - 可能吗?
- 25. Mac应用程序可能构建iPhone静态库xcode项目吗?
- 26. 从Framework 4.5类库项目中添加对ASP.NET 5类库的引用项目
- 27. Xamarin.Forms使用Sharp.XMPP库的便携式类库项目
- 28. 项目中使用的类
- 29. 可以用git来处理回购项目中的项目吗?
- 30. XCode项目需要特殊设置才能使用预编译的boost库吗?
还应该提到您可以编写扩展SDK,尽管对于较小的方案通常过于复杂,如下所述:http://msdn.microsoft.com/zh-cn/library/jj820239.aspx – GotDibbs 2013-03-18 16:31:46