<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function test() {
this.value = 1;
this.get = function () { alert(this.value); }
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="text" id="a" value="a" />
<input type="text" id="b" value="b" />
</div>
<script type="text/javascript">
var t = new test();
document.getElementById("a").onclick = function () { t.get()};//这个结果是1
document.getElementById("b").onclick = t.get();//这个效果是加载页面就会弹对话框显示1,怎么理解?
document.getElementById("b").onclick = t.get;//这个是取get值,所以点击b文本框时,取得b的value值显示b,可以理解
</script>
</form>
</body>
</html>
function () { t.get()};你定义了这个函数,a的click后调用这个函数,这个函数里有t.get();对于 document.getElementById("b").onclick = t.get();当程序走到这里就会t.get()了
getElementById("a").onclick 点击执行
t.get()是调用
a要点击执行才执行 function () { t.get()};
相当于
var a = t.get();
document.getElementById("b").onclick = a;
这样看明白了吧
function test() {
this.value = 1;
this.get = function () { alert(this.value); }
}
//执行test()方法当然要弹出1了