Javascript 变量未发送到其他函数

Javascript 变量未发送到其他函数,javascript,Javascript,我有很多链接,当点击时,会将一个变量传递到页面的另一部分 然而,由于某种原因,我无法理解!我错过了什么 <head> <script type="text/javascript"> function myFunction(a){ myid="Hi There!"+a; return myid; } </script> </head> <body> <a href="#" OnClick="myFunction(12345

我有很多链接,当点击时,会将一个变量传递到页面的另一部分

然而,由于某种原因,我无法理解!我错过了什么

<head>
<script type="text/javascript">

function myFunction(a){
  myid="Hi There!"+a;
  return myid;
}
</script>
</head>
<body>
<a href="#" OnClick="myFunction(123456);">Click Me</a><br />


<script type="text/javascript">
document.write(myid);
</script>

</body>

函数myFunction(a){
myid=“你好!”+a;
返回myid;
}

文件写入(myid);
您在这里有些混乱。即使函数返回一个值,它也没有返回的对象。试试这个:

    <head>
    <script type="text/javascript">

    function myFunction(a){
      myid="Hi There!"+a;
      document.getElementById("debug").innerHTML = myid;
    }
    </script>
    </head>
    <body>
    <a href="#" OnClick="myFunction(123456);">Click Me</a><br />


<div id="debug"></div>

</body>

函数myFunction(a){
myid=“你好!”+a;
document.getElementById(“调试”).innerHTML=myid;
}


如果以后要使用它,需要将myid声明为全局变量。它的作用域当前仅在myFunction中。此外,document.write()函数只在运行时执行,因此每次单击都需要另一个函数来执行该函数,或者只是将两者结合起来。

当您单击链接时,只会调用myFunction(),它返回字符串。行
document.write(myid)不再执行,因此任何内容都不可见。

以下是一些类似内容的简单示例:

<a href="#" type="button" OnClick="myf=myfunc(1234);alert(myf)" value="clickme">clickme</a> or  <a href="#" type="button" OnClick="myf=myfunc(1234);document.getElementById('other').value=myf;" value="clickme">ClickMeAlso</a>
<input id='other' type='text'/>

<script>
function myfunc(a) {
    return a + " howdy";
};
</script>
或
函数myfunc(a){
返回一个+“你好”;
};
您可以在这里看到这一点:


//这是全球性的
var myid=''
myfunc=函数(a){
myid=“你好!”+a;
警报(myid);
}
test_global=函数(){
警报(myid);
}

如何编写
返回falsemyFunction
return false中的code>是不必要的,如果在本例中不需要返回值,只需完全取出返回值即可。@Rakesh–此外,您必须在
onclick
属性中使用
return myFunction(…)
,否则返回
false
不会阻止默认行为。@Marcel:该死!我错过了,非常感谢!我不熟悉堆栈溢出。这很好,帮助我更好地理解问题/解决方案。谢谢我相信如果变量前面没有一个VAR,那么它的作用域是全局的,这并没有什么区别,因为它是所需的返回值!你想做什么?在页面完成后调用document.write将删除页面。是的,但它确实演示了该技术,OP可以决定需要对该值执行什么操作。请注意OP示例代码中的相同内容?编辑以放入警报(u),即使OP在其中有docmment.write-我不同意这种模仿值得投反对票。
<script>
// This is global
var myid = ''

myfunc = function(a){
    myid = "Hi There!" + a;
    alert(myid);
}

test_global = function(){
    alert(myid);
}
</script>

<a href="javascript:void(0);" onclick="myfunc(12345);">Set MYID</a>
<input type="button" onclick="test_global();" value="Test MYID" />