javaScript NameSpace 簡(jiǎn)單說(shuō)明介紹
更新時(shí)間:2013年07月18日 16:54:26 作者:
命名空間,一看就知道主要目的是為了避免沖突。下面就來(lái)說(shuō)一下如何打造自己的JavaScript命名空間。
打造JavaScript命名空間其實(shí)很簡(jiǎn)單,只需要將自己的函數(shù)、對(duì)象、變量等放在一個(gè)偽命名空間中,即用一個(gè)匿名函數(shù)包裝起來(lái)。
(function(){
function $(id){
return document.getElementById(id);
}
function alertNodeName(id){
alert($(id).nodeName);
}
})();
使用這種偽命名空間可以封裝并保護(hù)自己的所有函數(shù)、對(duì)象、變量,而且由于他們位于一個(gè)函數(shù)之中,相互之間也可以互相訪問(wèn)。不過(guò)偽命名空間之外的腳本就無(wú)法使用這些函數(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ù)之中,相互之間也可以互相訪問(wèn)。不過(guò)偽命名空間之外的腳本就無(wú)法使用這些函數(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++類基本語(yǔ)法實(shí)例分析
- C++中關(guān)于[]靜態(tài)數(shù)組和new分配的動(dòng)態(tài)數(shù)組的區(qū)別分析
- C++對(duì)數(shù)組的引用實(shí)例分析
- C++ namespace相關(guān)語(yǔ)法實(shí)例分析
相關(guān)文章
談?wù)勱P(guān)于JavaScript 中的 MVC 模式
本文介紹了模型-視圖-控制器模式在 JavaScript 中的實(shí)現(xiàn),有需要的朋友可以參考一下2013-04-04javascript數(shù)組操作(創(chuàng)建、元素刪除、數(shù)組的拷貝)
這篇文章主要介紹了javascript數(shù)組操作,包括創(chuàng)建、元素的訪問(wèn)、元素刪除、數(shù)組的拷貝等操作,還有其它示例,需要的朋友可以參考下2014-04-04