最近在看一本Js的书名叫“Javascript高级程序设计”在里面学到了很多东西,是一本不错的书,非常值得一看。

解耦css/javascript

element.style.color="red";

element.style.backgroundColor="blue";

以上方式css和javascript的太过于紧密;我们应写成:

element.className="edit";

css样式和js代码完全分离。

再次优化:

var cssName={

css1:"edit",

}

element.className=cssName.css1;

2.解耦应用逻辑/事件处理程序

function handlekeyPress(event){

event=EventUtil.getEvent(event);

if(event.keyCode==13){

var target=EventUtil.getTarget(event);

var value=5*parentInt(target.value);

if(value>10){

document.getElement("error-msg").style.display="block";

}

}

};

写成:

function validateValue(value){

value=5*parseInt(value);

if(value>10){

document.getElement("error-msg").style.display="block";

}

};

function handleKeyPress(event){

event=EventUtil.getEvent(event);

if(event.keyCode==13){

var target=EventUtil.getTarget(event);

}

};

3.避免全局量:

var name="Ncihoals"

function sayName(){

}

写成:

var MyApplication={

name:"Nicholas",

sayName:function(){

}

}

Js命名空间的概念:

//创建全局对象

var Wrox={};

//创建命名空间:

Wrox.ProJs={};

将所用的变量的都附加到Wrox上

Wrox.ProJs.EventUtil={};

这样做的最主要目的是为了在同一页面中能与其它的js文件共存,不会出现重名的情况。

3.避免与null进行比较:

function sortArry(values){

if(values!=null){   //避免

values.sort(comparator);

}

}

function sortArry(values){

if(values instanceof Arry){ //推荐

values.sort(comparator);

}

}

最新文章

  1. How to Delete XML Publisher Data Definition Template
  2. 【续集】塞翁失马,焉知非福:由 Styles.Render 所引发 runAllManagedModulesForAllRequests="true" 的思考
  3. bzoj4199:NOI2015D2T2品酒大会(SAM版)
  4. Mysql的一些使用
  5. 做NavMesh相关工作时收集的一些文章
  6. 命令行方式使用abator.jar生成ibatis相关代码和sql语句xml文件
  7. C,C#,C++中&&和||,&和|的联系和区别
  8. 接近带给你AngularJS - 经验说明示例
  9. JS 数组array方法push, pop, unshift, shift, slice,splice,contact, join, sort
  10. 【Loadrunner】初学Loadrunner——IP欺骗
  11. Servlet程序开发--WEB开发模式(Mode I, Mode II)
  12. Java 9 揭秘(12. Process API 更新)
  13. 闲话和grunt
  14. 学习笔记TF064:TensorFlow Kubernetes
  15. 防止SQL注入的6个要点
  16. ds.Tables[0].Rows.RemoveAt(i)数据库表格删除行
  17. mysql自学路线
  18. windows 7/mac编译cocos2d-x-3.2*的android工程报错
  19. C# 6.0可能的新特性及C#发展历程[转]
  20. 牛客网 Wannafly挑战赛27 蓝魔法师

热门文章

  1. 实战3--项目开始--准备:::资源分类, 日志系统, 写BaseDao
  2. MAC使用GITHUB
  3. iOS开发——实时监控网速(仅作参考,发现一点问题)
  4. CodeForces 622C Not Equal on a Segment
  5. elya:给移动APP创业者的工具集(一)
  6. BZOJ 1257 [CQOI2007]余数之和sum ——Dirichlet积
  7. 【uoj57】 WC2013—平面图
  8. Windows显示不了磁盘
  9. Oracle数据库和实例的区别
  10. UVa 311 - Packets