代码改变世界

JavaScript 开发经验整理

2014-11-01 17:00  张瀚文zhw  阅读(615)  评论(0编辑  收藏  举报

  前言 今年接触了一个B/S的项目,总结了一些JavaScript开发经验,整理些有用的内容与大家分享。 本文会持续更新...

1、实现代码访问的控制

  随着项目JavaScript代码库扩大,本应被控制在私有作用域的函数与变量将会暴漏的越来越多,这时你的全局作用域被“污染”的可能性就会越来越大。这不仅会导致命名冲突,也会为BUG提供温床。因此,我们需要编写自包含的、不透明的JavaScript代码,它不会向外界暴漏内部的细节,也不会与现有的框架与脚本库发生冲突。事实上这正是大规模编程的主要要求

   示例如下:

//定义一个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

 

2、动态加载Javascript文件

  传统的<script>标签加载js文件很方便只需加入网页即可,但是存在严重的缺陷。

  1、严格的读取顺序;2、性能问题,多个js文件同步加载页面会堵塞,页面相应缓慢;

  为了解决以上问题可以使用DOM方法,动态加载javascript文件。注:DOM动态加载的js文件,其中事件和相关绑定也会自动绑定;

   示例如下:

        function loadScript(url) {
            var script = document.createElement("script");//获取script dom对象
            script.type = "text/javascript";//声明类型
            script.src = url;
            document.body.appendChild(script);//动态加载js文件
        }

 3、AJAX

 4、Javascript 调试技巧

 5、DOM

 6、web性能优化

 7、WebSocket

 8、HTTP和HTTPS

 9、...