错误:未捕获的ReferenceError:未定义myFunction
这是我的.js文件无效或调用我的HTML
function = myFunction()
{
var ret = "";
for (var i = 15; i < 26; i++)
{
ret += i + " " + i*2 + " " + i*3 + "\n";
}
alert(ret);
}
Run Code Online (Sandbox Code Playgroud)
这是我的HTML代码:
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript" src="Test1.js"></script>
</head>
<body>
<h1> Exercise 4 - LAB 4 </h1>
<h2> Exercise 2.1 </h2>
<button type="button" onclick= "myFunction() "> Press Me </button>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
错误:未捕获的ReferenceError:未定义myFunction
干得好:
var myFunction = function ()
{
var ret = "";
for (var i = 15; i < 26; i++)
{
ret += i + " " + i*2 + " " + i*3 + "\n";
}
alert(ret);
};
Run Code Online (Sandbox Code Playgroud)
function = varName () {}是语法错误.你可以这样做:function varName () {}没有等号,或者你可以像我那样做.
在我们的一些海报的一些健康警告之后,我应该指出这两种方式之间的区别在于写一个函数.引用RobG:"函数foo(){}和var foo = function(){}之间没有实际区别;除了创建函数时,第一个被称为FunctionDeclaration,第二个被称为FunctionExpression." 在执行任何代码之前加载函数声明,因此您可以在任何地方(函数在文件中的位置之前或之后)调用它.但是,再次根据文件中的实际位置,如果在文件中的位置之前调用函数表达式,则会引发错误.(但是,您可以通过声明稍后将分配给文件开头的函数表达式的变量来解决此问题.)