//JSMap.js文件
* 用于实现页面 Map 对象,Key只能是String,对象随意
*/
var JSMap = function(){
this._entrys = new Array();
this.put = function(key, value){
if (key == null || key == undefined) {
return;
}
var index = this._getIndex(key);
if (index == -1) {
var entry = new Object();
entry.key = key;
entry.value = value;
this._entrys[this._entrys.length] = entry;
}else{
this._entrys[index].value = value;
}
};
this.get = function(key){
var index = this._getIndex(key);
return (index != -1) ? this._entrys[index].value : null;
};
this.remove = function(key){
var index = this._getIndex(key);
if (index != -1) {
this._entrys.splice(index, 1);
}
};
this.clear = function(){
this._entrys.length = 0;;
};
this.contains = function(key){
var index = this._getIndex(key);
return (index != -1) ? true : false;
};
this.getCount = function(){
return this._entrys.length;
};
this.getEntrys = function(){
return this._entrys;
};
this._getIndex = function(key){
if (key == null || key == undefined) {
return -1;
}
var _length = this._entrys.length;
for (var i = 0; i < _length; i++) {
var entry = this._entrys[i];
if (entry == null || entry == undefined) {
continue;
}
if (entry.key === key) {//equal
return i;
}
}
return -1;
};
}
var map = new JSMap(); //准备在别的文件使用
//printf.js文件
document.write("<script language='javascript' src='JSMap.js'></script>");
map.put("1","HELLO");
alert(map.get("1"));
//mapTest.htm 文件
<html>
<head>
<title>
Map 对象测试
</title>
</head>
<body>
<script language="javascript" src="JSMap.js"></script>
<script language="javascript" src="print.js">
map.put("1",Title);
alert(map.get("1"));
</script>
</body>
</html>
=============================================================================================
//Test.htm
<html>
<body>
<input type="button"value="OK" onclick="javascript:a()">
</body>
<script language="JavaScript"src="a.js"></script>
</html>
//a.js
new_element = document.createElement("script");
new_element.setAttribute("type","text/javascript");
new_element.setAttribute("src","b.js");
document.body.appendChild(new_element);
function a(){
b();
}
//b.js
function b(){
alert("this is b.js");
}
==============================================================
//如果要调用一个js文件的静态方法可用这种方法
//Test.htm
<html>
<script language="JavaScript"src="var.js"></script>
<body Onload="a();">
</body>
</html>
//MFB_CH.js
function MFB_CH()
{
}
MFB_CH.getMFB_Front_Txt=function(key)
{
alert("this is MFB_CH.js");
}
//var.js
var my_element = document.createElement("script");
my_element.setAttribute("type","text/javascript");
my_element.setAttribute("src","MFB_CH.js");
document.getElementsByTagName("head")[0].appendChild(my_element);
function a()
{
alert("this is var.js");
MFB_CH.getMFB_Front_Txt();
}
这篇博客展示了如何在JavaScript文件之间导入和使用自定义对象。通过在HTML中引用JSMap.js文件,创建JSMap实例,并在其他脚本中调用其方法,如put和get。另外,还演示了动态添加脚本元素来引入和执行b.js,以及如何调用不同JS文件中的静态方法MFB_CH.getMFB_Front_Txt。
2614

被折叠的 条评论
为什么被折叠?



