我有一些代码可以正常工作,如果它被添加到页面上的脚本标记。我已经将它移动到一个单独的JS文件中(与HTML页面在同一个文件夹中),但是当我尝试调用它时,出现“Object expected”错误。'预期的对象'使用外部JS
这是我的HTML页面:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Untitled Page</title>
<script type="text/javascript" src="Jscript1.js" />
<script type="text/javascript">
function t()
{
nsTest.test();
}
function t2()
{
nsTest.test2();
}
</script>
</head>
<body>
<input type="button" value="test" onclick="t()" />
<input type="button" value="test2" onclick="t2()" />
</body>
</html>
,这是我的JS文件:
var nsTest = function()
{
var test = function()
{
alert('nsTest.test');
}
var test2 = function()
{
alert('nsTest.test2');
}
return {
test: test,
test2: test2
}
}();
我敢肯定,我失去了一些东西真的很浅显,但我敢对于JS来说是新的,我在这里已经圈了几个小时了。
有人能让我知道我在做什么错吗?
感谢,
大卫
Jscript1.js可能未加载。检查萤火虫网络标签,或只是尝试从相同的位置加载到浏览器。 – itsadok 2011-05-03 13:17:34
如果你使用这样的闭包(它不是一个类),你不需要命名它。命名'nsTest'毫无意义。 – Rudie 2011-05-03 13:33:50
@Rudie:该功能未被命名。函数的返回值分配给'nsTest'。 – 2011-05-03 13:35:53