今天看到一篇文章,介紹的是js中return的用法,感觸很深。(類似於JAVA return)
在大多數情況下,為事件處理函數返回false,可以防止默認的事件行為.例如,默認情況下點擊一個<a>元素,頁面會跳轉到該元素href屬性指定的頁.
Return False 就相當於終止符,Return True 就相當於執行符。
在js中return false的作用一般是用來取消默認動作的。比如你單擊一個鏈接除了觸發你的
onclick時間(如果你指定的話)以外還要觸發一個默認事件就是執行頁面的跳轉。所以如果
你想取消對象的默認動作就可以return false。
首先在js中,我們常用return false來阻止提交表單或者繼續執行下面的代碼,通俗的來說就是阻止執行默認的行為
function a(){ if(True) return false; },這是沒有任何問題的。
如果我改成這種
function Test(){ a(); b(); c(); }
即使a函數返回return false 阻止提交了,但是不影響 b()以及 c()函數的執行。在Test()函數里調用a()函數,那面里面
總之:return false 只在當前函數有效,不會影響其他外部函數的執行。(也就是其中斷的只是一個函數,對於其外部函數沒影響)
if+return 也可以代替復雜的if...else語句進行程序流程的控制。
例如:
a不等於234會執行if之后的代碼。用if+return代替if...else語句更清晰
(function (a) { if(a==2){ alert("a==2"); return ;//結束函數(跳出函數) } if(a==3){ alert("a==3"); return ;//結束函數(跳出函數) } if(a==4){ alert("a==4"); return ;//結束函數(跳出函數) } alert("a不等於234會彈出這個") })(8)
三:總結
retrun true; 返回正確的處理結果。
return false;返回錯誤的處理結果,終止處理。
return;把控制權返回給頁面。
四:區別
1. return;返回null,起到中斷方法執行的效果,只要不return false事件處理函數將會繼續執行,表單將提交
2. return false;,事件處理函數會取消事件,不再繼續向下執行。比如表單將終止提交