01 JavaScript 宿主环境
QML提供了为编写QML应用程序量身定做的JavaScript宿主环境,它与为浏览器和服务器端提供的宿主环境是不同的。例如,QML中没有提供在浏览器环境中常见的window对象或DOM API等。
1.公共基础
与浏览器或服务器端JavaScript环境一样,QML运行时实现了ECMAScript语言规范标准,因此可以访问该标准定义的所有内建类型和函数,例如Object、Array和Math等。QML运行时实现了该标准的第5版本,这与一般的浏览器是一样的。
标准的ECMAScript内建类型和函数没有明确地在QML文档中设置相应的文档。要了解相关的内容,可以参考ECMA-262第5版本标准,或参考JavaScript的在线文档和教程(例如:http://www.w3schools.com/jsref/default.asp)。很多网站的内容侧重JAvaScript在浏览器方面的应用,因此需要仔细对照规范来确定给定的函数或对象是否是标准ECMAScript的一部分,还是特定于浏览器环境的。
例如在http://www.w3schools.com/jsref/default.asp中,JavaScript Reference部分是标准规范的内容,而Browser Objects Reference和HTML DOM Objects Reference部分的内容则是特定于浏览器的。
2.QML全局对象
QML的JavaScript宿主环境实现了一些宿主对象和函数,详细内容可以参考Qt帮助中的QMLGlobal Object文档。无论模块是否进行了导人,这些宿主对象和函数在QML编程时总是可用的。
3.JavaScript 对