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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于js中namespace命名空间模式

發布時間:2025/3/20 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于js中namespace命名空间模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

命名空間有助于減少程序中所需要的全局變量的數量,并且同時有助于避免命名沖突或過長的名字前綴。

關于命名空間的例子:

/** * 創建全局對象MYAPP * @module MYAPP * @title MYAPP Global */ var MYAPP = MYAPP || {};/** * 返回指定的命名空間,如果命名空間不存在則創建命名空間。 * 備注:命名時需小心,注意保留關鍵字,可能在一些瀏覽器無法使用。 * * @method namespace * @param {String *} 至少需要創建一個命名空間 * @return {Object} 最后一個命名空間創建的對象的引用 */ MYAPP.namespace = function(str){var parts = str.split("."),parent = MYAPP,i=0,l=0;if(parts[0]==="MYAPP"){parts = parts.slice(1);}for(i=0,l=parts.length; i<l;i++){if(typeof parent[parts[i]] === "undefined"){parent[parts[i]] = {};}parent = parent[parts[i]];}return parent; }/** * bfun是Basic Functions Extended的縮寫 * 作用:包括數組、字符串等等數功能擴展 * * @module bfun */ MYAPP.bfun = {array:(function(){return {/*** @method isArray 判斷是否為數組* @param {Array} 數組* @return {Boolean} 真返回true,否則返回false*/isArray: function(){return Object.prototype.toString.call(arguments[0]) === '[object Array]'; },/*** @method inArray 檢查值是否在數組中* @param {value,Array} 值,數組* @return {Boolean} 真返回true,否則返回undefined*/inArray: function(val,arr){for(var i=0,l=arr.length;i<l;i++){if(arr[i] === val){return true;}}}}})(),string:(function(){return {/*** @method trim 過濾字符串兩邊多余的空格* @param {String} 字符串* @return {String} 字符串*/trim: function(){return arguments[0].replace(/(^\s*)|(\s*$)/g, "");},/*** @method ltrim 過濾字符串左邊多余的空格* @param {String} 字符串* @return {String} 字符串*/ltrim: function(){return arguments[0].replace(/^s+/g, "");},/*** @method rtrim 過濾字符串右邊多余的空格* @param {String} 字符串* @return {String} 字符串*/rtrim: function(){return arguments[0].replace(/s+$/g, "");}}})() }// 測試 MYAPP.test = {init: function(){// 使用對應的模塊先引用var marray = MYAPP.namespace("MYAPP.bfun.array");var mstring = MYAPP.namespace("MYAPP.bfun.string");var arr = ["a","b"];var str = " abc ";console.log("判斷是否為數組:" + marray.isArray(arr));console.log("值是否在數組中:" + marray.inArray("a",arr));console.log("過濾左右空格:" + mstring.trim(str));} }MYAPP.test.init();

?

轉載于:https://www.cnblogs.com/kuikui/p/3190381.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的关于js中namespace命名空间模式的全部內容,希望文章能夠幫你解決所遇到的問題。

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