1、总是使用var声明变量。如function fun() { var i = 0; }等,否则变量i会变成全局变量;
2、常量使用诸如NAME_LIKE_THIS进行命名;
3、ECMAScript建议使用块声明函数,因为ECMAScript只允许在根语句(如<script></script>中)声明函数,如
if(x) {
var i = function() {...};
}
而非使用
if(x) {
function() {...}
}
4、避免使用包装类型声明原始的数据类型
较好的方式: var x = Boolean(0); if (x) { alert('hi'); // This will never be alerted. }
较差的方式: var x = new Boolean(false); 因为false是一个对象,对象转换成boolean型数据时,会转换成true,除了null和undefied对象之外。 if (x) { alert('hi'); // Shows 'hi'. }
5、尽量避免使用delete删除对象的属性,使用赋null的方式,因为使用重新分配值的方式性能较快,同时使用delete需要避免操作工程中出现异常
较好的实现方式: Foo.prototype.dispose = function() { this.property_ = null; };
较差的实现方式: Foo.prototype.dispose = function() { delete this.property_; };
6、尽量避免使用eval(),因为eval()容易造成语义混乱,建议使用JSON代替
{ "name": "Alice", "id": 31502, "email": "looking_glass@example.com" }
var userInfo = eval(feed); var email = userInfo['email'];
var userInfo = JSON.parse(feed); var email = userInfo['email'];
7、尽量避免使用for-in进行循环,使用原生态的for(...;...;...)代替,因为for-in循环时会查询原型里的属性,速度慢;
8、构建数组对象时,尽量使用Object代替Array数组
var a1 = new Array(x1, x2, x3);
var a = [x1, x2, x3]; //使用Object构建数组对象
9、尽可能延迟变量的初始化(为变量赋值);
10、声明字符串时,使用'代替",方便对HTML进行声明;
文章载自:http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml
相关推荐
TypeScript Injections是一个库,可简化项目中的依赖关系管理。 介绍 TypeScript Injections... 允许编写与SOLID规则兼容的代码。 安装 您可以使用npm获取最新版本: $ npm install typescript-injections --save 用法
.net 2.0 访问Oracle --与Sql Server的差异,注意事项,常见异常 Ado.net 与NHibernate的关系? 动态创建数据库 SQL Server数据库安全规划全攻略 .net通用数据库访问组件SQL Artisan应用简介1 在Framework1.0下...
在正则表达式中括号具有几种作用.它的主要作用是把单独的项目分组 成子表达式,以便可以像处理一个独立的单元那种用 *、+或? 来处理那些项目.例如: /java(script) ?/ 匹配的是字符串 "java",其后既可以有 "script",...
1、编写一对 body 标记,在body标记中,嵌套一对 div标记,在 div 标记中 ,嵌套一对 a 标记,在 a标记中,嵌套一对 b 标记,b标记中,随意编写一些文本 <body> 这是一段测试文本 </body> ...
The VAPI-XP testing tool enables you to create new testing scripts using Microsoft VBScript, Microsoft JavaScript (JScript version), PerlScript, and PythonScript, and integrate these scripts into your...
您需要证明自己对前几天引入和实践的概念和目标的熟练程度。 在sprint挑战期间,不允许您进行协作。但是,建议您遵循20分钟规则,并在需要指导的情况下寻求TL的支持。 全日制学生 您必须在太平洋标准时间下午5点之前...
1)AjaxJavaScript资源 1.JS+CSS仿腾讯QQ首页搜索框无刷新换肤效果代码 2.js+css简单后台二级树形菜单demo示例 3.JS+CSS美化经典Select选项框插件 4.JS+CSS通用一个页面同时三个焦点图轮换效果完整实例 5....
================网奇CMS网站管理系统6.0百项功能一览==================== 1.使用全球通用的utf-8编码,符合国际标准 2.支持百万级的数据运行 3.提供系统统计信息,包括登陆记录,工作排行,运行状态,信息数目...
MFC+DLL的编写和调用示例 MFC换肤完全贴图实现 Smile简体版 Linux内核完全注释附 MFC+消息循环贴图---金山毒霸界面 自绘控件实现。 MFCDemo DirectUI移植到MFC中实现。 MFCHtml 调用脚本 MFC使用COM加载WMI...
MFC+DLL的编写和调用示例 MFC换肤完全贴图实现 Smile简体版 Linux内核完全注释附 MFC+消息循环贴图---金山毒霸界面 自绘控件实现。 MFCDemo DirectUI移植到MFC中实现。 MFCHtml 调用脚本 MFC使用COM加载WMI...
MFC+DLL的编写和调用示例 MFC换肤完全贴图实现 Smile简体版 Linux内核完全注释附 MFC+消息循环贴图---金山毒霸界面 自绘控件实现。 MFCDemo DirectUI移植到MFC中实现。 MFCHtml 调用脚本 MFC使用COM加载WMI...
MFC+DLL的编写和调用示例 MFC换肤完全贴图实现 Smile简体版 Linux内核完全注释附 MFC+消息循环贴图---金山毒霸界面 自绘控件实现。 MFCDemo DirectUI移植到MFC中实现。 MFCHtml 调用脚本 MFC使用COM加载WMI...
MFC+DLL的编写和调用示例 MFC换肤完全贴图实现 Smile简体版 Linux内核完全注释附 MFC+消息循环贴图---金山毒霸界面 自绘控件实现。 MFCDemo DirectUI移植到MFC中实现。 MFCHtml 调用脚本 MFC使用COM加载WMI...
此外,还要考虑开发人员的水平,学习了两年的jsp开发,对于这个系统的编写,我想完整的之需要两个月就可以写出程序,再花上几天的调试,计划两个月左右就可以完成投入使用了。 我们掌握了数据库及其应用技术、...
MFC+DLL的编写和调用示例 如题。 MFC换肤完全贴图实现 如题。 Smile简体版 很简单,只能播放mp3格式的音乐。 功能: --------------------------------------- --------关闭-- 打开----最小化------- ----------...