onblur="return verify (this)" 这里return的是返回值具体是什么?,在脚本里的verify函数是没有返回值?
onclick="this.value ='greeting and welcome '"这里为什么不加javascript写成:
onclick="javascript:this.value ='greeting and welcome '"
onclick="JavaScript :return OM(this.form);"上面都不用分号,怎么这里加分号了?
onsumbit="return validate(this);"这里加分号,加return?为什么呢?
<a href=JavaScript :onclick="return handler(argument)">这里加javascript,加return,不加分号了?自己乱加都可以吗?分号是不是加不加上去都有可以吗?
onclick="JavaScript :newwindow();" 怎么这个还要加关键字javascript吗?不是直接写成:onclick="newwindow()" 分号还用来干什么?
各位大神,能讲讲什么时候要加javascript,什么时候加分号(;)return有什么用?刚开始学的时候,书里的例子说,直接加javascript代码才有加个关键字javascript的如
<p name ="段落一" onclick="JavaScript :color='red' ">标准的书里没有分号,没有return也没有调用函数
求大神指教,使用规则,我都糊涂了,自己有时候都分不清,双引号里的是字符串还是表达式了……
(1)onclick="",双引号中的既不是字符串,也不是表达式,而是语句。所以我每条语句都会加上分号,额,实际上也不会有多条语句,有多条语句我就会提取成函数了,但是你也知道javascript是可以省略分号的,又不会报错。
(2)对于javascript,我就知道两个地方,一个是onclick="javascript:",另一个就是<a href="javascript:">,对于onclick,我是不写javascript前缀的,太麻烦,写了也可以正常运行。但是<a>标签写和不写就代表两种意思了,写了前缀,那么href的作用就和onclick一样了,不写前缀,href就是一个字符串URL,会进行跳转。
(3)onclick="return false;"会阻止默认行为,必须form表单中的submit按钮和reset按钮,以及<a>标签跳转,这些默认功能就不会执行,对于一个函数没有返回值,那么默认返回undefined。
可以参考这个:http://janesnail.blog.163.com/blog/static/169941442012421276676/
其实对于javascript,我有个问题就是:【onclick="return false;"会阻止默认行为】最终结果等效于这样吗:onclick="false",但我又觉得好矛盾,一个事件onclick绑定竟然不是方法而是赋了一个false值,好难接受,求大牛讲讲他们在程序的本质机制是如何处理和绑定的!!!
@黑夜猫头鹰:这是我的理解,不一定对
(1)<input type="button" id="btn" name="btn" onclick="alert(123);" />
(2)<input type="button" id="btn" name="btn" />
function aa() { alert(123); } document.getElementById("btn").onclick=aa;
这两种方式,得到的结果是一样的,所以可以这么理解:onclick="",双引号中的内容是一个函数的函数体,那么return false;也就是这个函数的返回值是false.那么至于怎么处理这个返回值,那就是浏览器的事情了,我们了解到的就是如果返回值是false,那么浏览器会取消相应的默认行为。
@ThreeTree: 我看了你给我链接,这个例子:
<a href="http://janesnail.blog.163.com/blog/#" onclick="action();return false;">link</a>
最终onclick的值是多少?onclick=“action();”即action()的返回值?还是onclick=“return false”即false;
还是onclick等于【action()返回值+false】
@黑夜猫头鹰: 按照我的理解应该是:onclick=function() { action();return false; }
这样click事件发生后,就会执行这个函数
1、如果verify(this)没有返回值,那么return的就是undefined
2、javascript前缀只是表示后面是js代码,一般在a标签的href上需要,事件上加不加不影响;
3、末尾的分号可见可不加;如果是多句,则需要在前面的语句加;
其实,我有点接受不了:onblur="return verify (this)",这算怎么回事啊?onblur事件绑定应该是函数才对,而且不应该给事件赋值;照你所说onblur="return verify (this)"最终返回underfine,那么不就算是结果为onblur="underfine ",有这样给一个事件赋值一个值得吗?我一下接受不了,纠结矛盾啊!!学了那么久c#也没看过给事件赋值的,只看过给事件绑定需要出发的函数,而且绑定函数都没有返回值,但这里毁了我的方法观了?求大牛缕缕我的思路错在哪里,感激感激
@黑夜猫头鹰: 每个语言的特性不一样,学习js,就得按照它的思路走。不要强制认为它就得和C#类似。