快速业务通道

JavaScript2.0提案

作者 佚名技术 来源 网页制作 浏览 发布时间 2012-03-06
has a type of int
var b:String = "A string."; //variable b has a type of String

function (a:int, b:string)//the function accepts two parameters, one of type int, one of type string

function(...):int //the function returns a value with a type of int

为了进行上述的比较,你需要转换类型:

alert( int("42") == 42 ); //true
alert( int("42" == 42) + 1 ); //2
alert( "I live at " + string(99) + " Renolds street.");

程序单元体

借鉴了各种流行js框架,程序单元体是很有用的代码模块,它可以在运行时导入。当框架和自定义库数量越来越多的时候,这些已经成为web程序不可或缺的组成部分。设想下,包含了成千上万行代码的库们,一次性下载他们已经不合时宜了。这是伪代码:

use unit Effects "http://mysite/lib/Effects";
use unit Utils "http://mysite/lib/Utils";

var panel = new Panel();
panel.setTime(Util.getFormattedTime());

 编译时的类型检查

在JavaScript2.0 里,你可以使用严格模式来编译JavaScript模块。在运行之前,它可以检查几个重要的方面的完整性,包括:

静态类型检查

引用名称确认

对常数的非法赋值

保证比较的两个值有合法的类型

常数

先前的JavaScript开发者不得不使用命名规范或者精心制定的工作规则保护他们的常量。而这些在JavaScript2.0都是不需要的:

//JavaScript 1.x constant
var CULTURE_CONST = "Do you really want to change me?"; // constant in appearance only.

//JavaScript 2.0 constant
const HAMMER_TIME = "You can''t touch this!" // a true constant.

命名空间

随着js框架的不断涌现,使用命名空间已经变得越来越必要了。这个标准目前被用作创建全局对象来保护你自己的功能不给先前的全局对象和函数击倒在地(直译)。

 总结

许多向对2.0提案进行了猛烈的抨击,批评它在想经典的语言如c++、java在靠近。

“...JavaScript是动态、灵活的,使用原型继承和对象模型是很实用,很基础的优势,为什么有人要把这些那么优雅、灵活的东西变成java呢,java基本上强制性的让程序员使用古典的,基于class的继承——我搞不懂。”

而我个人对此很感受很复杂,即欢迎像class,命名空间,常量这样好的变化,也对强类型脚本变量很不感冒。总体上说,JavaScript冒着对业余程序员

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号