问题描述
<inputtype="button"value="点我"onclick="clickme"/><inputtype="button"value="点我"onclick="clickme()"/>请具体解释一下从原理上
解决方案
解决方案二:
解释啥?第一行就是错的
解决方案三:
引用1楼shingoscar的回复:
解释啥?第一行就是错的
别人的解释有这样的=function是赋值了函数··=function()是赋值了返回值··
解决方案四:
什么乱七八糟的第一行就是错的,不知道怎么解释。。。。
解决方案五:
想用别人的语言编程,就要遵循别人的编程规则,如此而已
解决方案六:
没有原理可以解释,一个杯子,没有装灯泡就没有发光的功能,编程规范里没有让没有加括号的代码可以运行,所以它是错的
解决方案七:
<inputtype="button"value="点我"onclick="clickme"/><inputtype="button"value="点我"onclick="clickme()"/>第一行是错的。正确的写法是:<inputtype="button"value="点我"onclick="clickme()"/>表示:给button控件定义一个点击事件,只是这个事件是js的事件,因为这是html控件,不是服务器控件
解决方案八:
引用2楼zhb1993829的回复:
Quote: 引用1楼shingoscar的回复:
解释啥?第一行就是错的别人的解释有这样的=function是赋值了函数··=function()是赋值了返回值··
别人的解释能执行得通吗?不是误导你的吗?
解决方案九:
onclick="...."这里就是一个普通的字符串,字符串中可以胡乱写上点什么,反正如果胡写之后在实际上click事件触发时才会崩溃在用户面前(而浏览器往往因此还隐匿了错误提示,让人摸不着头脑)。先要把这个“原理”搞清楚。这里的赋值操作,就是字符串而已。“别人的解释”看似高大上,实际上没有把中间环节说清楚(你也偷工减料只从表面去理解),于是它就误导你、没商量。
解决方案十:
html的这个属性声明语法根本不是什么高达上的东西,等号右边的东西可以是胡乱写的乱七八糟的东西,就是简单的字符串赋值。如果你在一个使用了asp.net控件的asp.net设计页面上声明了OnClick="Button1_Click"
那么就不一样了,它有一个编译阶段,因此“从原理上来说”编译器就会去对于宿主控件去寻找等号左边的那个事件、然后去寻找等号右边的那个事件处理方法,如果全都找到了则产生相应的“注册”动作语句,如果没有找到则根本不能通过编译。可见说到“原理”,首先是要别去想当然地说什么“赋值”这个词儿,这样你才能去自然而然地去学习原理。如果你看见等号就硬说是“赋值”,那就虚火就上了。实际上你这两个等号右边可以随便胡写什么东西,根本不需要解释。