前言 今年接触了一个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、...

JavaScript 开发经验整理的更多相关文章

  1. JavaScript 精髓整理篇之一(对象篇)postby:http://zhutty.cnblogs.com

    废话篇头: 由于工作关系,所以写博文的时间有那么点~~,其实是输入法太懒了,都是输入法的错~~ 这一系列的博客将总结所有关于JavaScript语言的精髓,适合0基础到大师级别人物阅读. <Ja ...

  2. javascript收集整理

    //特殊字符去掉 function check(obj){ var test=obj.value.match(/[^A-Za-z0-9]/g);//这条语句表示在输入文本中是否包含不符合要求的字符,如 ...

  3. JavaScript基础整理(1)

    最近读了<JavaScript权威指南>这本书,闲来无事对自认为重要的知识做了些整理,方便以后查阅. JavaScript中的最重要的类型就是对象,对象是名/值对的集合,或字符串到值映射的 ...

  4. javascript运算符整理

    说起运算符,基本上各类编程语言中都会涉及,使用方法大同小异.今天在这里以javascript做简单的整理. 总得来说运算符还是比较的多,大致可以分为以下几种类型: 一元运算符 位运算符 布尔运算符 乘 ...

  5. JavaScript笔记整理

    整理一篇工作中的JavaScript脚本笔记,不定时更新,笔记来自网上资料或者自己经验归纳. (1) 获取Url绝对路径 function getUrlRelativePath() { var url ...

  6. WEB前端常用JavaScript代码整理

    文章目录 html代码用JS动态加载进页面 JS判断用户访问的是PC还是mobile或者微信浏览器 判断浏览器的简单有效方法 点击某个div区域之外,隐藏该div 如何在手机上禁止浏览器的网页滚动 改 ...

  7. JavaScript学习整理(转载)

    JavaScript的学习整理(一) 目录: 1.换皮肤功能2.显示/隐藏(点击切换)3.显示/隐藏(onmouseover/onmouseout)4.选项卡5.全选/不选/反选(checkbox)6 ...

  8. 常用JavaScript正则表达式整理

    在表单验证中,正则表达式书写起来特别繁琐,本文整理了15个常用的JavaScript正则表达式,其中包括用户名.密码强度.整数.数字.电子邮件地址(Email).手机号码.身份证号.URL地址. IP ...

  9. 《你不知道的JavaScript》整理(四)——原型

    一.[[Prototype]] JavaScript中的对象有一个特殊的[[Prototype]]内置属性,其实就是对于其他对象的引用. var myObject = { a: 2 }; myObje ...

随机推荐

  1. C++面向对象编程初步

    1,使用const 指针; const int * pOne; //指向整型常量的指针,指向的值不能修改; int * const pTwo; //指向整型的常量指针,指向的值可以修改,但该指针不能再 ...

  2. aix vg lv pv

    lsvg lsvg -o lsvg rootvg 查看rootvg的信息 lsvg -p rootvg 查看rootvg卷里的物理硬盘以及分布信息 lsvg -l rootvg 查看rootvg卷下的 ...

  3. Hibernate 多表关联映射- 一对多关系映射(one-to-many)

    Hibernage.cfg.xml: <hibernate-configuration> <session-factory name="sessionFactory&quo ...

  4. 2014ACM/ICPC亚洲区广州站 Song Jiang's rank list

    欢迎参加——每周六晚的BestCoder(有米!) Song Jiang's rank list Time Limit: 2000/1000 MS (Java/Others)    Memory Li ...

  5. C语言中的回调函数

    C语言中通过函数指针实现回调函数(Callback Function) ====== 首先使用typedef定义回调函数类型 ======  typedef void (*event_cb_t)(co ...

  6. varnish和squid的对比

    Varnish与Squid的对比  说到Varnish,不能不提Squid,Squid是一个高性能的代理缓存服务器,它和varnish之间有诸多的异同点,这里分析如下:  下面是他们之间的相同点:   ...

  7. C# in Depth阅读笔记2:C#2特性

    1.方法组转换 c#2支持一个从方法组到兼容委托类型的隐式转换,即如: button.click+=new eventhandler(logevent)可以写成 button.click+=logev ...

  8. v​s​快​捷​键

    Ctrl+E,D ----格式化全部代码 Ctrl+A+K+FCtrl+E,F ----格式化选中的代码 Ctrl+K+FCTRL + SHIFT + B生成解决方案 Alt+B+B 或 F6 生成当 ...

  9. 当MVC4无法跳转时

    //RedirectToAction("Index","首页"); //return View("首页/Index"); //Redirec ...

  10. php缓存生成及更新实现参考哦

    <?php //如果在find/findAll里传入了参数,则该参数即为key ORM::factory('article')->where('user_id', '=', '2')-&g ...