Javascript html从外部文件调用外部对象

时间:2013-01-04 04:44:55

标签: javascript html scope

这有效......

html文件......

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="src/myJS.js"></script>
</head>
<body onload="myJS();">
</body>
</html>

外部javascript文件的内容(为方便起见,称为myJS.js)......

myJS = function ()
{
    document.write("Hello world");
};

但是,这不起作用......

html文件......

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="src/myJS.js"></script>
</head>
<body onload="myJS.myFunction();">
</body>
</html>

外部javascript文件......

myJS = function ()
{   
    myFunction = function()
    {
        document.write("Hello world");
    };  
};

为什么不呢?提前感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

在另一个函数内声明的函数不会成为该函数的属性。 如果你希望myJS成为myFunction作为方法的对象,你可以这样做

myJS = {    
    myFunction: function()
    {
        document.write("Hello world");
    }   
};

答案 1 :(得分:0)

您的脚本会创建两个全局函数...

所以myJS创建了另一个名为myFunction的函数,其中任何一个都可以独立调用。

看起来你想制作像

这样的JSON对象
myJS = {   
    myFunction: function() {
        document.write("Hello world");
    }
}