在一个js文件中使用另外一个js文件的自定义对象

来源:互联网 发布:淘宝开店审核在哪里看 编辑:程序博客网 时间:2024/05/21 20:30

//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();
}

0 0
原创粉丝点击