我有一个简单的HTML文档和JS文件,我无法弄清楚为什么这个简单的代码不起作用。
这里是index.html
:
<!DOCTYPE HTML>
<html>
<head>
<script>
function getStatus() {
alert('test 1');
var isOnline = isOnline();
alert('test 3');
}
function isOnline() {
alert('test 2');
return true;
}
</script>
</head>
<body>
<script>getStatus();</script>
</body>
</html>
它仅显示“测试1”警报,然后不显示任何内容。如果删除isOnline()
函数调用,它将显示“ Test 1”警报,然后显示“ Test 3”警报,而不会出现问题。我在浏览器控制台中收到Uncaught TypeError: isOnline is not a function
。
更新:
事实证明,这是由于我用与函数相同的名称来命名变量。我是JavaScript的新手,并不知道此限制。
答案 0 :(得分:1)
成功。
http://jsfiddle.net/humskoa3/2/
<!DOCTYPE HTML>
<html>
<head>
<script>
function getStatus() {
alert('Test 1');
isOnline();
alert('Test 3');
}
function isOnline() {
alert('Test 2');
}
</script>
</head>
<body>
<script>getStatus();</script>
</body>
为什么不呢?
再次测试!
答案 1 :(得分:0)
这是因为我用与函数相同的名称来命名变量。
答案 2 :(得分:-1)
通常,每次交互都可以执行一次警报。尽管我使用chrome devtools尝试了您的代码,但它仍然有效。可能是因为您的html文件读取了js文件以提醒一次,然后完成功能。
function getStatus() {
alert("1");
isOnline();
alert("3");
}
function isOnline() {
alert("2");
}
getStatus();