rt 是否应该给每一个方法都加上 return false...
var class = {
method: function(arg) {
if (arg) {
return arg.argv;
}
return false;
},
get: function() {
// 此次省略一堆...
return false;
},
set: function() {
// 此次省略一堆...
return false;
},
};
class.method('argc argv');
1
wesley 2015-05-22 13:40:16 +08:00
不应该,如果你真要退出一个无返回值的方法,就用return ;
|
3
jarlyyn 2015-05-22 13:48:49 +08:00
为什么要加,有什么含义?
|
4
morethansean 2015-05-22 13:56:29 +08:00
不需要的话,return 都不用写啊。你强行加个 return false 木有任何意义。
|
5
whatisnew OP |
6
wind4 2015-05-22 14:07:05 +08:00
undefined !== false
|
8
morethansean 2015-05-22 14:12:09 +08:00
@whatisnew ……你这些方法跟事件 handler 有什么关系。要阻止 dom 事件冒泡也是根据需求啊,又不是随便一个 handler 都需要阻止冒泡,你随便阻止冒泡弄出一大堆别人调试都很难发现的 bug 那时候才蛋疼。
你的API 在定义的时候,如果是没有返回值的,那你管函数默认返回什么呢?undefined 也好你自己强行返回了个 false 也好,有什么意义呢?如果你的 API 定义就是要有返回值的,那就按照约定做返回啊。 |
9
est 2015-05-22 14:14:41 +08:00
return alert("出错了!")
|
11
yyfearth 2015-05-22 14:39:09 +08:00
@whatisnew 阻止冒泡不推荐用return false了
应该用e.stopPropagation() 阻止默认行为用e.preventDefault() 阻止冒泡并且阻止其他handler继续用 e.stopImmediatePropagation() return false 相当于 e.stopPropagation() + e.preventDefault() 不过还是用这些方法比较好 一个是可以在最前面阻止 避免出错导致return false没有执行 而且控制也更加明确 可以不return继续执行下面的代码 有些custom API需要event handler return false阻止执行 那么就按照API的定义使用就是 |
12
wind4 2015-05-22 16:14:32 +08:00
我想知道,你返回一个false是什么意思?
|
13
FrankFang128 2015-05-22 16:17:11 +08:00 via Android
楼主强迫症
|
14
kfll 2015-05-23 09:28:04 +08:00 via iPhone
没有返回的方法,个人比较推荐加 return this
|
15
domino 2015-05-23 22:10:31 +08:00
弱弱的问下,这写法具体叫做什么
var class = { method: function(arg) { }, get: function() { }, set: function() { }, }; |