菜鸟请教javascript问题

qq1159018545 2012-10-21 09:33:43

<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>


...全文
225 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
H_Gragon 2012-10-23
  • 打赏
  • 举报
回复

function test() {
this.value = 1;
this.get = function () { alert(this.value); }
}
//执行test()方法当然要弹出1了
superliu1122 2012-10-23
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 的回复:]

引用 12 楼 的回复:

引用 11 楼 的回复:

document.getElementById("b").onclick = t.get();
相当于
var a = t.get();
document.getElementById("b").onclick = a;
这样看明白了吧

明白了

var a = t.get();就会调用函数。这个和直接写t.g……
[/Quote]
没什么用 只是为了让你看清楚代码执行过程
  • 打赏
  • 举报
回复
涉及js的函数及方法问题,比较饶人,回答的也饶人,围观,等澄清。
qq1159018545 2012-10-21
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]

引用 11 楼 的回复:

document.getElementById("b").onclick = t.get();
相当于
var a = t.get();
document.getElementById("b").onclick = a;
这样看明白了吧

明白了
[/Quote]
var a = t.get();就会调用函数。这个和直接写t.get()有什么区别?var a = t.get();这样的表达式有意义吗?这个时候a有什么用啊?
qq1159018545 2012-10-21
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]

document.getElementById("b").onclick = t.get();
相当于
var a = t.get();
document.getElementById("b").onclick = a;
这样看明白了吧
[/Quote]
明白了
superliu1122 2012-10-21
  • 打赏
  • 举报
回复
document.getElementById("b").onclick = t.get();
相当于
var a = t.get();
document.getElementById("b").onclick = a;
这样看明白了吧
qq1159018545 2012-10-21
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

引用 4 楼 的回复:

引用 1 楼 的回复:
function () { t.get()};你定义了这个函数,a的click后调用这个函数,这个函数里有t.get();

对于 document.getElementById("b").onclick = t.get();当程序走到这里就会t.get()了

我觉得你的理解有问题。“function () { t.get()……
[/Quote]document.getElementById("b").onclick = t.get();这个和我直接写t.get()有区别吗?我这种写法xxx=t.get()是不是有问题?
qq1159018545 2012-10-21
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]

打开页面执行执行function(){alert(this.value);}
a要点击执行才执行 function () { t.get()};
[/Quote]
我知道打开时会执行function(){alert(this.value);}我想知道为什么会执行,求指教
wuyq11 2012-10-21
  • 打赏
  • 举报
回复
打开页面执行执行function(){alert(this.value);}
a要点击执行才执行 function () { t.get()};
qzp000000 2012-10-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

引用 1 楼 的回复:
function () { t.get()};你定义了这个函数,a的click后调用这个函数,这个函数里有t.get();

对于 document.getElementById("b").onclick = t.get();当程序走到这里就会t.get()了

我觉得你的理解有问题。“function () { t.get()};你定义了这个函数”和这个匿名……
[/Quote]
function () { t.get()}; 这是定义
t.get()是调用
qzp000000 2012-10-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

引用 1 楼 的回复:
function () { t.get()};你定义了这个函数,a的click后调用这个函数,这个函数里有t.get();

对于 document.getElementById("b").onclick = t.get();当程序走到这里就会t.get()了

为什么不是我点击事件触发啊
[/Quote]
点击的时候也会触发的
qq1159018545 2012-10-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

执行function(){alert(this.value);}
getElementById("a").onclick 点击执行
[/Quote]
大神,看不懂你回答的是什么问题
qq1159018545 2012-10-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
function () { t.get()};你定义了这个函数,a的click后调用这个函数,这个函数里有t.get();

对于 document.getElementById("b").onclick = t.get();当程序走到这里就会t.get()了
[/Quote]
我觉得你的理解有问题。“function () { t.get()};你定义了这个函数”和这个匿名函数根本没有关系。
qq1159018545 2012-10-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
function () { t.get()};你定义了这个函数,a的click后调用这个函数,这个函数里有t.get();

对于 document.getElementById("b").onclick = t.get();当程序走到这里就会t.get()了
[/Quote]
为什么不是我点击事件触发啊
wuyq11 2012-10-21
  • 打赏
  • 举报
回复
执行function(){alert(this.value);}
getElementById("a").onclick 点击执行
qzp000000 2012-10-21
  • 打赏
  • 举报
回复

function () { t.get()};你定义了这个函数,a的click后调用这个函数,这个函数里有t.get();

对于 document.getElementById("b").onclick = t.get();当程序走到这里就会t.get()了

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧