我想使用Mystring
作为警报的参数,这样当鼠标放在链接上时,它会警报Mystring
?
<html>
<head>
<script>
window.onload = initAll;
function initAll() {
var Mystring = "Hello world";
var aTag = document.getElementsByTagName('a')[0];
aTag.onmouseover = runAlert;
}
function runAlert() {
alert(Mystring);
}
</script>
</head>
<body>
<a href="#">Over me</a>
</body>
</html>
最佳答案
您的 Mystring
变量的作用域位于 initAll
函数内。它在该功能之外不可用。您可能想要做的是在外部定义它并在 initAll
中分配值,如下所示:
window.onload = initAll;
var myString;
function runAlert() {
alert(myString);
}
function initAll() {
myString = "Hello world";
var aTag = document.getElementsByTagName('a')[0];
aTag.onmouseover = runAlert;
}
如果这就是您要做的,您可以定义一个内联匿名函数,如下所示
aTag.onmouseover = function() {
alert(myString);
};
注意:通常 JavaScript 变量以驼峰命名法命名。
注释 1: 在调用函数之前定义被调用函数始终是一个好习惯,就像我在答案中所示的那样。
关于javascript - 使用带有可变参数的警报?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21806871/