1.語法及返回方式
①返回控制與函數結果
語法為:return 表達式;
語句結果函數的執行,返回調用函數,而且把表達式的值作為函數結果返回出去
②返回控制無函數結果
語法為:return;
在大多數情況下,為事件處理函數如果讓其返回false,可以防止默認的事件行為.例如,默認情況下,點擊一個<a>標簽元素,頁面會跳轉到該元素href屬性指定的頁. 而return false就相當於終止符,return true就相當於執行符. 在js中return false的作用一般是用來取消默認動作的.比如你單擊一個鏈接除了觸發你的"onclick"事件以外還要觸發一個默認事件就是執行頁面的跳轉.所以這時候如果你想取消對象的默認動作就可以return false來阻止它的動作.也就是說如果你想用js代碼來局部改變一些數據而不引起頁面其他部位的變化,那麼你就應該在onclick事件代碼的後面加上return false;
在js中,我們通常用return false來阻止提交表單或者繼續執行下面的代碼,通俗來說就是阻止執行默認的行為.
function s1(){ if(true){ return false; } } function s2(){ m(); n(); p(); }
上面兩個例子,函數s1那樣寫沒有問題的,if函數體裡返回出去false,終止函數.而在函數s2裡,如果我們在m函數裡返回一個return false阻止提交,但是這並不影響函數n和函數p的執行.在s2函數裡調用函數m,那裡面的return false對於函數s2來說,只是相當於返回值,並不能阻止函數s2的執行.return false只在當前函數有效,並不會影響其他外部函數的執行.
總結:
return true;返回正常的處理結果.
return false;返回錯誤的處理結果;終止處理;阻止提交表單;阻止執行默認的行為.
return;把控制權返回給頁面.
2.通常函數經過一系列的處理後需要給外部返回一個值,這個值一般用return返回出去,也可以是說return是向函數返回返回值,並終止函數的運行.
關於return,要注意的是在函數裡return後面的內容是不再執行的.
function a(){ return 10; document.write(50);//不執行 } a();//10
上面的例子中,"return 10;"這個時候函數a的值會等於10,並且函數下面的內容不再執行,因為下面運行函數a時輸入10.
究竟需不需要return來返回值,要看函數是來做什麼,如果需要讓它返回一個值就寫return,如果不需要它返回值,就沒必須寫它.
function a(b,c){ return b+c; } var abc=a(5,8); console.log(abc);//13 function a(b,c){ document.write(b+c); } var abc=a(5,8);//此時頁面上會輸出13,但其實abc是沒有值的 console.log(abc);//undefined
當然,js中的return不一定非得用在函數function中,有時候也可以用來阻止某些動作,比如表單的提交,讓表單的提交事件返回false,那表單就不會提交:onsubmit="return false";