最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于JavaScript 下namespace 功能的簡(jiǎn)單分析

 更新時(shí)間:2013年07月05日 15:41:51   作者:  
前些天在剝離 百度隨心聽 的播放器引擎時(shí),看到了一個(gè)namespace方法,覺得新奇,當(dāng)然只是對(duì)于我自己而言,我入門js不久,經(jīng)驗(yàn)尚淺
之前看到網(wǎng)易還是新浪還是什么什么網(wǎng)站來著,也是用類似這種東西的,當(dāng)時(shí)對(duì)js只是九牛一毛的水平,當(dāng)場(chǎng)被嚇傻了。
但這次,我打算親自分析下,以后在看到就不會(huì)迷茫了。
復(fù)制代碼 代碼如下:

//調(diào)用例子:bradio.namespace("bradio.lang.array");
 //下面是百度編譯后的源碼,變量都是a,b,c,d...之后我會(huì)重新寫一個(gè)規(guī)范點(diǎn)的。
 //好了,開始分析
 bradio.namespace = function () { //創(chuàng)建命名空間
     var a = arguments, //["bradio.lang.array"]
         b = null, //用于存放上一級(jí)對(duì)象
         c, d, e, f; //c是計(jì)數(shù)器,d是內(nèi)層循環(huán)的計(jì)數(shù)器,e是拆分后命名空間數(shù)組,f是arguments參數(shù)長(zhǎng)度
     c = 0;
     for (f = a.length; c < f; c++) {
         e = ("" + a[c]).split("."); //拆分命名空間,拆分后 ["bradio", "lang", "array"]
         b = bradio; //基礎(chǔ)對(duì)象,基于這個(gè)對(duì)象進(jìn)行命名空間的添加
         for (d = "bradio" == e[0] ? 1 : 0; d < e.length; d++) //如果第一個(gè)是bradio, 就第二個(gè)開始遍歷 ["bradio","lang","array"]
             b[e[d]] = b[e[d]] || {}, b = b[e[d]]
             //其實(shí)相當(dāng)于
             //b[e[d]] = b[e[d]] || {} //如果當(dāng)前對(duì)象已經(jīng)操作就用當(dāng)前對(duì)象,不存在就賦值空對(duì)象
             //b = b[e[d]] //用字對(duì)象覆蓋b,接下去的循環(huán)基于子對(duì)象添加命名空間
     }
     return b//返回最后一層對(duì)象
 };

下面是整理后的,能看懂的版本
復(fù)制代碼 代碼如下:

//bradio.namespace("bradio.lang.array");
  bradio.namespace = function () { //創(chuàng)建命名空間
      var args = arguments,
          parent = null,
          arr, i, j, len;
      for (i=0, len = args.length; i < len; i++) {
          arr = ("" + args[i]).split(".");
          parent = bradio;
          for(j = "bradio" == arr[0] ? 1 : 0; j < arr.length; j++) {
              parent[ arr[j] ] = parent[ arr[j] ] || {};
              parent = parent[ arr[j] ];
          }
      }
      return parent;
  }

當(dāng)然只是我的理解,如果哪里不是很對(duì),還請(qǐng)各位大俠幫忙指出,以免誤導(dǎo)了大家。

相關(guān)文章

  • js中基本事件的總結(jié)(onclick、onblur、onchange等)

    js中基本事件的總結(jié)(onclick、onblur、onchange等)

    事件是用戶在網(wǎng)頁(yè)上的交互行為如點(diǎn)擊、滾動(dòng)、按鍵等,JavaScript通過事件監(jiān)聽來響應(yīng)這些行為,這里為大家分享一下,js中的基本事件,方便大家選擇合適的觸發(fā)形式
    2025-02-02
  • javascript冒泡排序小結(jié)

    javascript冒泡排序小結(jié)

    冒泡排序由于比較簡(jiǎn)單和容易理解,往往會(huì)成為人們首先想到的排序算法。最基本的想法就是在一次里面比較兩個(gè)數(shù)字,并且確保他們?cè)谝苿?dòng)到其他項(xiàng)目之前有一個(gè)正確的順序。在每一關(guān)結(jié)束,有價(jià)值的“排序”到正確的位置,最終只留下其他項(xiàng)目排序。
    2016-04-04
  • 告訴你什么是javascript的回調(diào)函數(shù)

    告訴你什么是javascript的回調(diào)函數(shù)

    在javascript中回調(diào)函數(shù)非常重要,它們幾乎無處不在。像其他更加傳統(tǒng)的編程語(yǔ)言都有回調(diào)函數(shù)概念,但是非常奇怪的是,完完整整談?wù)摶卣{(diào)函數(shù)的在線教程比較少,倒是有一堆關(guān)于call()和apply()函數(shù)的,或者有一些簡(jiǎn)短的關(guān)于callback的使用示例。
    2014-09-09
  • 詳解JavaScript的Polymer框架中的通知交互

    詳解JavaScript的Polymer框架中的通知交互

    這篇文章主要介紹了詳解JavaScript的Polymer框架中的通知交互,Polymer是由Google開發(fā)的針對(duì)Web UI的前端框架,需要的朋友可以參考下
    2015-07-07
  • js實(shí)現(xiàn)圖片局部放大效果詳解

    js實(shí)現(xiàn)圖片局部放大效果詳解

    這篇文章主要介紹了js實(shí)現(xiàn)圖片局部放大效果,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • javascript編程起步(第四課)

    javascript編程起步(第四課)

    javascript編程起步(第四課)...
    2007-01-01
  • js中對(duì)象的聲明方式以及數(shù)組的一些用法示例

    js中對(duì)象的聲明方式以及數(shù)組的一些用法示例

    本文為大家介紹下js中的對(duì)象聲明方式以及數(shù)組的一些用法,下面有個(gè)不錯(cuò)的示例,感興趣的朋友可以參考下,希望對(duì)大家有所幫助
    2013-12-12
  • 用JS實(shí)現(xiàn)一個(gè)TreeMenu效果分享

    用JS實(shí)現(xiàn)一個(gè)TreeMenu效果分享

    用JS實(shí)現(xiàn)一個(gè)TreeMenu效果分享,思路比較簡(jiǎn)單,但很實(shí)用
    2011-08-08
  • 詳解JS-- 浮點(diǎn)數(shù)運(yùn)算處理

    詳解JS-- 浮點(diǎn)數(shù)運(yùn)算處理

    本篇文章主要介紹了JS--浮點(diǎn)數(shù)運(yùn)算處理,現(xiàn)在分享給大家,也給大家做個(gè)參考。感興趣的小伙伴們可以參考一下。
    2016-11-11
  • 淺談javascript中createElement事件

    淺談javascript中createElement事件

    本文通過示例向大家簡(jiǎn)單介紹了javascript中的createElement事件,需要的朋友可以參考下
    2014-12-12

最新評(píng)論

永兴县| 安溪县| 南部县| 南澳县| 开原市| 新兴县| 应城市| 信丰县| 吉隆县| 若尔盖县| 呼图壁县| 阿克苏市| 乌拉特中旗| 谷城县| 凤山县| 永寿县| 怀来县| 娄烦县| 曲阳县| 左权县| 九龙城区| 宁明县| 敦化市| 武夷山市| 通许县| 普陀区| 兰州市| 达州市| 资源县| 车险| 满洲里市| 十堰市| 衡山县| 金乡县| 泗阳县| 射洪县| 黄山市| 贵南县| 崇阳县| 牙克石市| 浠水县|