javascript中return,return true,return false三者的用法及區(qū)別
1.語法及返回方式
①返回控制與函數(shù)結果
語法為:return 表達式;
語句結果函數(shù)的執(zhí)行,返回調用函數(shù),而且把表達式的值作為函數(shù)結果返回出去
②返回控制無函數(shù)結果
語法為:return;
在大多數(shù)情況下,為事件處理函數(shù)如果讓其返回false,可以防止默認的事件行為.例如,默認情況下,點擊一個<a>標簽元素,頁面會跳轉到該元素href屬性指定的頁. 而return false就相當于終止符,return true就相當于執(zhí)行符. 在js中return false的作用一般是用來取消默認動作的.比如你單擊一個鏈接除了觸發(fā)你的"onclick"事件以外還要觸發(fā)一個默認事件就是執(zhí)行頁面的跳轉.所以這時候如果你想取消對象的默認動作就可以return false來阻止它的動作.也就是說如果你想用js代碼來局部改變一些數(shù)據(jù)而不引起頁面其他部位的變化,那么你就應該在onclick事件代碼的后面加上return false;
在js中,我們通常用return false來阻止提交表單或者繼續(xù)執(zhí)行下面的代碼,通俗來說就是阻止執(zhí)行默認的行為.
function s1(){
if(true){
return false;
}
}
function s2(){
m();
n();
p();
}上面兩個例子,函數(shù)s1那樣寫沒有問題的,if函數(shù)體里返回出去false,終止函數(shù).而在函數(shù)s2里,如果我們在m函數(shù)里返回一個return false阻止提交,但是這并不影響函數(shù)n和函數(shù)p的執(zhí)行.在s2函數(shù)里調用函數(shù)m,那里面的return false對于函數(shù)s2來說,只是相當于返回值,并不能阻止函數(shù)s2的執(zhí)行.return false只在當前函數(shù)有效,并不會影響其他外部函數(shù)的執(zhí)行.
總結:
return true;返回正常的處理結果.
return false;返回錯誤的處理結果;終止處理;阻止提交表單;阻止執(zhí)行默認的行為.
return;把控制權返回給頁面.
2.通常函數(shù)經過一系列的處理后需要給外部返回一個值,這個值一般用return返回出去,也可以是說return是向函數(shù)返回返回值,并終止函數(shù)的運行.
關于return,要注意的是在函數(shù)里return后面的內容是不再執(zhí)行的.
function a(){
return 10;
document.write(50);//不執(zhí)行
}
a();//10上面的例子中,"return 10;"這個時候函數(shù)a的值會等于10,并且函數(shù)下面的內容不再執(zhí)行,因為下面運行函數(shù)a時輸入10.
究竟需不需要return來返回值,要看函數(shù)是來做什么,如果需要讓它返回一個值就寫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不一定非得用在函數(shù)function中,有時候也可以用來阻止某些動作,比如表單的提交,讓表單的提交事件返回false,那表單就不會提交:onsubmit="return false";
相關文章
JS中的Error對象及使用JSON.stringify()序列化Error問題
這篇文章主要介紹了JS中的Error對象及使用JSON.stringify()序列化Error問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08
javascript 從if else 到 switch case 再到抽象
大家覺得在接手遺留代碼時,見到什么東東是最讓人感到不耐煩的?復雜無比的 UML ?我覺得不是。2010-07-07
uniapp插件uview下表單無法動態(tài)校驗的問題解決
最近項目中用到了uview?在做表單時用到了校驗,發(fā)現(xiàn)校驗不友好的結果,下面這篇文章主要給大家介紹了關于uniapp插件uview下表單無法動態(tài)校驗的問題解決,需要的朋友可以參考下2022-12-12
靜態(tài)頁面實現(xiàn) include 引入公用代碼的示例
下面小編就為大家?guī)硪黄o態(tài)頁面實現(xiàn) include 引入公用代碼的示例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09
javascript實現(xiàn)編寫網(wǎng)頁版計算器
這篇文章主要為大家詳細介紹了javascript實現(xiàn)編寫網(wǎng)頁版計算器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-08-08
Javascript+XMLHttpRequest+asp.net無刷新讀取數(shù)據(jù)庫數(shù)據(jù)
Javascript+XMLHttpRequest+asp.net無刷新讀取數(shù)據(jù)庫數(shù)據(jù)2009-08-08

