首頁 > web前端 > js教程 > 主體

Javascript 如何模組化程式設計

一个新手
發布: 2017-09-19 10:13:54
原創
1544 人瀏覽過

模組化程式設計可以讓業務的邏輯更加清楚。與其他傳統程式語言不同,Javascript並沒有提供原生的、有組織的引入模組方式。這裡主要探討下:基於物件的Javascript模組化程式設計即javascript 模組化(package.類別.方法)。

傳統的寫法:

在一個Javascript檔案中將不同的函數雜糅在一起,例如:

function m1(arg1, arg2){
	//…
}
function m2(){
	//…
}
登入後複製

這種方式“污染”了全域變量,且不能保證不發生衝突,最重要的是模組與成員間的關係不明顯。

物件的寫法:

將不同的模組寫成不同的對象,所有模組成員放在物件裡面。

var module1 = new Object({
	_appId : 0,
	URL:{
		process1:function(){
			return ‘/data/process1’;
		},
		process2:function(){
			return ‘/data/process2’;
		}
},
	m1: function(){
		//…
},
m2:function(params){
	var appId = params[‘appId’];
	var package = params[‘package’];
	//…
},
m3:{
	init:function(){
		//initial something
	},
	process:function(appId, package){
		//
	}
}
});
登入後複製

分析:

下面的寫法:

var module1 = new Object({
	//…
})
登入後複製

可以簡寫為:

var module1 = {
	//…
}
登入後複製

常數相關的設置:

_appId: 0,

可以將設定某些常數值,這個常數還可以用來傳遞el表達式的值,在jsp檔案中,加上

<script type=”text/javascript”>
	module1._appId = ${appId}; //这样可以将服务端的appId的值设置到js中
</script>
登入後複製

注意:

EL表達式${appId}只能在jsp檔案中使用,不能在js檔案中使用。

另一種設定常數組的方式為:

URL:{
		process1:function(){
			return ‘/data/process1’;
		},
		process2:function(){
			return ‘/data/process2’;
		}
},
登入後複製

函數中變數的傳遞方式有兩種方式:

#1)比較簡單的是:

process:function(appId, package)
登入後複製

這裡appId和package即為傳遞的單層值。

2)陣列傳遞:

m2:function(params){
	var appId = params[‘appId’];
	var package = params[‘package’];
	//…
},
登入後複製

呼叫的時候格式如下:

module1.m2({appId:10, package:’hello’})
登入後複製

多層物件封裝:

#
m3:{
	init:function(){
		//initial something
	},
	process:function(appId, package){
		//
	}
}
登入後複製

以上是Javascript 如何模組化程式設計的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板