新人求问,这个函数为什么没有执行?

 <!doctype html>
<html>
<head>
<meta charset="utf-8"><script>
var a=document.getElementById('btn1');
function fun(b)
{alert(b)}
a[' onClick ']="fun(2)";
</script>
<title>无标题文档</title>
</head>

<body>
<input id="btn1" type="button" value="22222">

</body>
</html>

不知道你想写什么,,是想将函数fun()绑定到按钮btn1?

 <!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
</head>
<script>
document.getElementById("Btn1").onclick=function(){fun()};
function fun()
{
alert("b")
}
</script>
<body>

<p>点击按钮就可以执行 <em>fun()</em> 函数。</p>

<button id="Btn1">点击这里</button>
</body>
</html> 

望采纳

你是想点击按钮弹出值吗

 <!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>

<body>
<input id="btn1" type="button" value="22222">
<script language="javascript">
var a=document.getElementById('btn1');

function fun(b)
{alert(b);}

a.onclick = function() { fun(2); };
</script>
</body>
</html> 

html 从上到下 顺序执行的,
执行到 var a=document.getElementById('btn1'); 的时候
btn1 ()DOM元素还没加载

那么a 就是个null a[' onClick ']="fun(2)";这行难道不报错?

<!doctype html>


无标题文档


var a=document.getElementById('btn1'); function fun() {alert(a.value)}


想取值的话就这样写

<!doctype html>

无标题文档


var a=document.getElementById('btn1'); function fun() {alert(a.value)}