前言 今年接触了一个B/S的项目,总结了一些JavaScript开发经验,整理些有用的内容与你们分享。 本文会持续更新...javascript
一、实现代码访问的控制java
随着项目JavaScript代码库扩大,本应被控制在私有做用域的函数与变量将会暴漏的愈来愈多,这时你的全局做用域被“污染”的可能性就会愈来愈大。这不只会致使命名冲突,也会为BUG提供温床。所以,咱们须要编写自包含的、不透明的JavaScript代码,它不会向外界暴漏内部的细节,也不会与现有的框架与脚本库发生冲突。事实上这正是大规模编程的主要要求web
示例以下:编程
//定义一个obj的对象 var obj = (function () { var privateField = 42; var publicField = 'foobar'; //obj对象 私有方法 function processInternals() { alert('私有的:' + privateField); } //obj对象 私有方法 function run() { processInternals(); alert('私有的:' + privateField); alert('公共的:' + publicField); } return { publicField: publicField, //返回名称为publicField 私有变量 run: run //返回名称为run私有方法 }; })();//注意此处增长(); obj.run();//调用obj对象run()方法 obj.publicField;// 调用obj对象public属性 obj.processInternals();//访问私有方法,为NULL obj.privateField;//访问私有属性,为NULL
二、动态加载Javascript文件性能优化
传统的<script>标签加载js文件很方便只需加入网页便可,可是存在严重的缺陷。app
一、严格的读取顺序;二、性能问题,多个js文件同步加载页面会堵塞,页面相应缓慢;框架
为了解决以上问题可使用DOM方法,动态加载javascript文件。注:DOM动态加载的js文件,其中事件和相关绑定也会自动绑定;dom
示例以下:函数
function loadScript(url) { var script = document.createElement("script");//获取script dom对象 script.type = "text/javascript";//声明类型 script.src = url; document.body.appendChild(script);//动态加载js文件 }
三、AJAX性能
四、Javascript 调试技巧
五、DOM
六、web性能优化
七、WebSocket
八、HTTP和HTTPS
九、...