zoukankan      html  css  js  c++  java
  • js框架设计1.1命名空间笔记

    借到了司徒正美的写的js框架设计一书,司徒大神所著有些看不太懂,果然尚需循序渐进,稳扎js基础之中。

    第一张开篇司徒阐述了种子模块的概念

    种子模块亦为核心模块,框架最先执行模块,司徒见解应包含:对象扩展、数组化,类型判定,简单事件的绑定和写在,无冲突处理,模块加载与domReady。应具有扩展性、常用、稳定等特点。

    1.1 命名空间

    一观各大框架,基本是定义一个全局变量作为命名空间,如Ext的Ext等,大体抽象取例为:

    if(typeof(Ten)==='undefined'){
        Ten={};
        Ten.Function = {};  
        Ten.JSONP = new Ten.Class();
    }

    为了能够让几个库的命名能够共存,大家不抢着用'$',jquery有解决这种冲突的代码写法:

    var _jQuery = window.jQuery;
    // 初始化jquery之前保存window.jQuery。
    _$ = window.$
    //先把可能存在别的要用$符号的框架 用同名变量保存起来
    
        
    jQuery.extend({
            noConflict: function( deep ) {
            if ( window.$ === jQuery ) {
                    window.$ = _$;
            }
            if ( deep && window.jQuery === jQuery ) {
                    window.jQuery = _jQuery;
            }
            return jQuery;
            }
    });

    这样就可以多库共存了 ,但是ext等其他框架就无法这样子做了。

    淘宝UED对这个的讲解如下:http://ued.taobao.com/blog/2013/03/jquery-noconflict/

  • 相关阅读:
    SQL查看数据库中每张表的数据量和总数据量
    Asp.Net Mvc Area二级域名
    Asp.Net Mvc 整站Https
    Task 开始 停止
    最全省份城市生成代码
    代理
    反射和工厂模式
    枚举
    IO
    集合类(二)
  • 原文地址:https://www.cnblogs.com/ffjiang/p/3812004.html
Copyright © 2011-2022 走看看