javaScript NameSpace 簡(jiǎn)單說明介紹
更新時(shí)間:2013年07月18日 16:54:26 作者:
命名空間,一看就知道主要目的是為了避免沖突。下面就來說一下如何打造自己的JavaScript命名空間。
打造JavaScript命名空間其實(shí)很簡(jiǎn)單,只需要將自己的函數(shù)、對(duì)象、變量等放在一個(gè)偽命名空間中,即用一個(gè)匿名函數(shù)包裝起來。
(function(){
function $(id){
return document.getElementById(id);
}
function alertNodeName(id){
alert($(id).nodeName);
}
})();
使用這種偽命名空間可以封裝并保護(hù)自己的所有函數(shù)、對(duì)象、變量,而且由于他們位于一個(gè)函數(shù)之中,相互之間也可以互相訪問。不過偽命名空間之外的腳本就無法使用這些函數(shù)了。
為了使這些函數(shù)可以被偽命名空間之外的腳本調(diào)用,我們首先創(chuàng)建一個(gè)window對(duì)象。
(function(){
if(!window.myNamespace){window['myNameSpace']={};}
function $(id){
return document.getElementById(id);
}
function alertNodeName(id){
alert($(id).nodeName);
}
})();
然后將要全局化的函數(shù)重命名一下(也可以不重命名)賦給window對(duì)象window['myNameSpace']。
(function(){
if(!window.myNamespace){window['myNameSpace']={};}
function $(id){
return document.getElementById(id);
}
function alertNodeName(id){
alert($(id).nodeName);
}
window['myNameSpace']['showNodeName'] = alertNodeName;
})();
這樣我們就打造了一個(gè)自己的命名空間。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<SCRIPT LANGUAGE="JavaScript">
<!--
(function(){
function $(id){
return document.getElementById(id);
}
function alertNodeName(id){
alert($(id).nodeName);
}
window['myNameSpace'] = {};
window['myNameSpace']['showNodeName'] = alertNodeName;
})();
function Test(){
myNameSpace.showNodeName("T");
}
//-->
</SCRIPT>
</HEAD>
<BODY onload="Test()">
<INPUT TYPE="text" NAME="T" ID="T" VALUE="Test">
</BODY>
</HTML>
復(fù)制代碼 代碼如下:
(function(){
function $(id){
return document.getElementById(id);
}
function alertNodeName(id){
alert($(id).nodeName);
}
})();
使用這種偽命名空間可以封裝并保護(hù)自己的所有函數(shù)、對(duì)象、變量,而且由于他們位于一個(gè)函數(shù)之中,相互之間也可以互相訪問。不過偽命名空間之外的腳本就無法使用這些函數(shù)了。
為了使這些函數(shù)可以被偽命名空間之外的腳本調(diào)用,我們首先創(chuàng)建一個(gè)window對(duì)象。
復(fù)制代碼 代碼如下:
(function(){
if(!window.myNamespace){window['myNameSpace']={};}
function $(id){
return document.getElementById(id);
}
function alertNodeName(id){
alert($(id).nodeName);
}
})();
然后將要全局化的函數(shù)重命名一下(也可以不重命名)賦給window對(duì)象window['myNameSpace']。
復(fù)制代碼 代碼如下:
(function(){
if(!window.myNamespace){window['myNameSpace']={};}
function $(id){
return document.getElementById(id);
}
function alertNodeName(id){
alert($(id).nodeName);
}
window['myNameSpace']['showNodeName'] = alertNodeName;
})();
這樣我們就打造了一個(gè)自己的命名空間。
復(fù)制代碼 代碼如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<SCRIPT LANGUAGE="JavaScript">
<!--
(function(){
function $(id){
return document.getElementById(id);
}
function alertNodeName(id){
alert($(id).nodeName);
}
window['myNameSpace'] = {};
window['myNameSpace']['showNodeName'] = alertNodeName;
})();
function Test(){
myNameSpace.showNodeName("T");
}
//-->
</SCRIPT>
</HEAD>
<BODY onload="Test()">
<INPUT TYPE="text" NAME="T" ID="T" VALUE="Test">
</BODY>
</HTML>
您可能感興趣的文章:
- C++ using namespace std 用法深入解析
- PHP命名空間(namespace)的使用基礎(chǔ)及示例
- ASP.Net中命名空間Namespace淺析和使用例子
- ajax使用不同namespace的action的方法
- Flex Namespace的用法
- JavaScript創(chuàng)建命名空間(namespace)的最簡(jiǎn)實(shí)現(xiàn)
- C++類基本語法實(shí)例分析
- C++中關(guān)于[]靜態(tài)數(shù)組和new分配的動(dòng)態(tài)數(shù)組的區(qū)別分析
- C++對(duì)數(shù)組的引用實(shí)例分析
- C++ namespace相關(guān)語法實(shí)例分析
相關(guān)文章
JavaScript中setTimeout和setInterval函數(shù)的傳參及調(diào)用
這篇文章主要介紹了JavaScript中setTimeout和setInterval函數(shù)的傳參及調(diào)用,著兩個(gè)函數(shù)可以把要執(zhí)行的代碼在設(shè)定的一個(gè)時(shí)間點(diǎn)插入js引擎維護(hù)的一個(gè)代碼隊(duì)列中,需要的朋友可以參考下2016-03-03
javascript學(xué)習(xí)筆記(十七) 檢測(cè)瀏覽器插件代碼
javascript學(xué)習(xí)筆記之檢測(cè)瀏覽器插件代碼,需要的朋友可以參考下2012-06-06
有關(guān)于JS輔助函數(shù)inherit()的問題
本篇為大家介紹有關(guān)于JS輔助函數(shù)inherit()的一些問題。2013-04-04
基于JavaScript實(shí)現(xiàn)繼承機(jī)制之構(gòu)造函數(shù)方法對(duì)象冒充的使用詳解
我們知道JavaScript是面向?qū)ο蟮哪_本語言,那么既然是面向?qū)ο螅^承一定是必不可少的了。JavaScript的核心是ECMAScript,JavaScript繼承機(jī)制的實(shí)現(xiàn)其實(shí)就是ECMAScript繼承機(jī)制的實(shí)現(xiàn)2013-05-05

