国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

使用AngularJS編寫較為優美的JavaScript代碼指南

2019-11-02 15:53:36
字體:
來源:轉載
供稿:網友

   本文示例代碼下載:modulePattern.zip - 所有的 4 個 HTML 文件 以及 panacea.js - 1.6 KB

  介紹

  AngularJS 的庫里面有很多東西,但本文中我只想專注于小的,針對特定主題的庫,我相信通過它們能對Angular有一個較好的介紹. 理解這篇文章并不需要你有任何Angular相關的,甚至是JavaScript的經驗。希望你能從本文中看到一些使用Angular的好處,并樂于動手嘗試.

  背景

  我使用Angular有一段時間了,而在學習Angular的時候,我也喜歡構建一些樣例,所以當我一開始深入進去的時候,對于模塊或者JavaScript的設計模式,我也沒有多想,那樣對保持代碼組織和條理性有幫助. 那就是所有的重點:保持代碼的組織和條理性. 因此,現在我回過頭來,創建了這個極其小巧的樣例,以展示使用模塊可以有多簡單. 一路走來,我希望它能夠成為一篇好的對Angular的介紹.

  (大多數)文章在闡述模式時的問題

  大多數時候人們都會嘗試去在讀者知道模式是啥概念之前就開始闡述一個模式,而這基本上誤導了每一個人. 這里要努力使得本文盡量簡單,讓我們首先來看一看這個問題吧。哪個問題呢?就是有關默認會在全局內存空間被創建的所有東西的Javascript的問題.

  下面就是我所說的意思.

  JavaScript 默認的全局問題

  設想你的HTML中有下面這樣一段腳本.

  ?

1 2 3 <script> var isDoingWork = false;
好聽網名[www.la240.com/html2017/1/15/]
</script>

  范圍?

  你清楚這個變量的范圍么?

  是的,它是全局的。這個布爾值實際上被添加到了瀏覽器的全局窗口對象中.

  把它設置到Action中

  這里你可以看到它在Action中是怎樣的.

  下載本文的代碼樣例.

  在你的瀏覽器中打開 modulePattern.htm .

  打開瀏覽器開發工具 -- F12(Chrome, IE) or Ctrl-Shift-I (Opera) -- (那樣就可以看見控制臺了)

  在瀏覽器工具控制臺下,輸入: isDoingWork,然后回車

  你會看到輸出的值為false.

  現在輸入 : isDoingWork = true,然后回車

  如此下載的值就為true了. 你已經改變了這個值.

  你可以看到這個值已經通過輸入doingwindow.isDoingWork = true然后回車,被添加到了全局窗口對象之中.

  這可能會造成一些名字沖突,也會導致一些嚴重的bug. 這也許對你而言有點杞人憂天了,是不? 但是請設想你是決定要去實現某一個新的JS庫,它每分每秒都可以被創建出來. 假設你發現了這個叫做 Panacea.js 的很棒的庫,它將解決你所有的問題.

  因此你向下面這樣在你的頁面中引用了它:

  ?

1 <script src="panacea.js"></script>

  如此簡單,你就已經解決之前你遇到的所有問題. 然而,因為它是一個龐大的庫,而你只想要解決方法,卻不回去深挖這個龐大(幾千行代碼)源文件里的每一行代碼. 而深埋在 Panacea.js 里面某個角落的確實下面這樣的代碼:

  ?

1 2 3 var isDoingWork = false;   setInterval(function(){isDoingWork = !isDoingWork;}, 3000);
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 离岛区| 杨浦区| 景东| 和龙市| 牙克石市| 宝应县| 随州市| 筠连县| 墨脱县| 永清县| 塘沽区| 平乡县| 左贡县| 阜宁县| 固镇县| 高台县| 永清县| 漳浦县| 隆子县| 泰宁县| 个旧市| 沭阳县| 田阳县| 于田县| 阿城市| 靖州| 阿勒泰市| 昆山市| 睢宁县| 板桥市| 平潭县| 澄迈县| 绥芬河市| 嘉祥县| 乌拉特前旗| 西昌市| 静海县| 肥乡县| 黄浦区| 台北县| 新化县|