日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

编写可维护的JavaScript之避免使用全局变量

發布時間:2024/4/17 javascript 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 编写可维护的JavaScript之避免使用全局变量 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、避免全局變量的理由

? ? js中避免創建全局變量一是避免命名沖突,二是避免因為創建全局變量讓代碼變得脆弱,三是創建全局變量會讓代碼難以測試。

?

二、避免創建全局變量的幾種方法

//避免全局變量 避免命名沖突 //1.單全局變量之命名空間 var YourGlobal = {namespace: function(ns) {var parts = ns.split("."),object = this,i, len;for (i=0,len=parts.length;i < len; i++) {if(!object[parts[i]]) {object[parts[i]] = {};}object = object[parts[i]];}return object;} };YourGlobal.namespace("Books.MaintainableJavaScript"); YourGlobal.Books.MaintainableJavaScript.author = "youyi"; YourGlobal.namespace("Books.HighPerformanceJavaScript"); //保持上面的YourGlobal.Books.MaintainableJavaScript原封不動 YourGlobal.Books.HighPerformanceJavaScript.name = "王寶強"; console.log(YourGlobal.Books.MaintainableJavaScript.author);//youyi console.log(YourGlobal.Books.HighPerformanceJavaScript.name);//王寶強 //在方法調用之后立即給它添加屬性 YourGlobal.namespace("Books").ANewBook = {};//2.單全局變量之模塊 //YUI模塊 是將模塊和命名空間概念合并在一起 YUI.add("my-module",function(Y) {//添加命令空間Y.namespace("Person.MaintainableJavascript");Y.Person.MaintainableJavascript.author = "xiaoma"; },"1.0.0",{requires:["dependency1","dependency2"]});//YUI().use()傳入想加載的模塊名稱來使用模塊 YUI().use("my-module","another-module",function(Y) {console.log(Y.Person.MaintainableJavascript.author); });//異步模塊 AMD define("my-module2",["dependency1","dependency2"],function(dependency1,dependency2) {var Books = {};Books.MaintainableJavaScript = {author: "張歆藝"};return Books; });//AMD模塊可以是匿名的,模塊加載器可以將JavaScript文件名當作模塊名稱,所以如果有一個叫my-module2.js的文件,模塊可以只通過模塊加載器來加載define(["dependency1","dependency2"],function(dependency1,dependency2) {var Books = {};Books.MaintainableJavaScript = {author: "張歆藝"};return Books; });//模塊加載器 //1.使用AMD模塊,需要一個與之兼容的模塊加載器(Dojo),用Dojo可以向下面這樣來加載 //Dojo同樣自己也封裝了AMD模塊 var books = dojo.require("my-module2"); console.log(books.MaintainableJavaScript.author);//2.RequireJs指定依賴和回調函數 //Jquery和Dojo都可以使用RequireJs來加載AMD模塊 require(["my-module2"],function(books) {console.log(books.MaintainableJavaScript.author); });//零全局變量 //特殊情況下才會使用,腳本很短且不需要和其他代碼產生交互的情況下使用 (function(win) {//"use strict"嚴格模式,避免創建全局變量var doc = win.document;//其他變量//其他相關代碼 });

  

?

轉載于:https://www.cnblogs.com/yy95/p/5788483.html

總結

以上是生活随笔為你收集整理的编写可维护的JavaScript之避免使用全局变量的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。