首先return 的作用是: 终止函数的执行 并 返回函数的值。
我们通过以下代码可以得出:
- return; 返回的结果为undefined
- return false; 返回的结果为 false
function test1 () { return; }
function test2 () { return false; }
console.log(test1()) // undefined
console.log(test2()) // false
又因为在DOM事件处理机制中约定,事件处理函数返回false,则不执行默认操作。
所以我们可以得出结论:
- return 和 return false 都会在函数内部阻止程序的执行。
- 但return false 能阻止事件宿主的默认行为(比如阻止表单的提交)。
需要注意的是:
1、 事件处理函数中 return false 并不是终止事件,而是阻止事件宿主的默认行为。
2、 并不是在所有事件处理函数中 return fasle 都能阻止事件宿主的默认行为。事实上,仅仅是在HTML事件属性 和 DOM0级事件处理函数中,才能以此方式阻止事件宿主的默认行为。