JavaScript return false
return 語句只能存在於函式中,具體參閱JavaScript return 語句一章節。
函式返回false在很多上下文具有特殊意義,所以單獨對其做一下介紹。
一.作為普通資料返回:
皇帝雖然至高無上,但是也有與民同樂的時候。
雖然return false有時具有特殊意義,但有時也很單純,作用就是返回false本身。
程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼執行程式碼function func(a,b){ if(a>b){ return true }else{ return false } } console.log(func(3,4));
程式碼執行效果截圖如下:
上述程式碼沒有其他意思,就是希望返回值為true或者false。
二.取消預設行為:
預設行為很好理解,比如扣動扳機,子彈會發射出去,子彈發射就是預設行為。
引申到web,點選表單提交按鈕,那麼提交表單就是預設行為,點選連結,連結跳轉就是預設行為。
return false可以阻止這些預設行為,程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <head> <title>螞蟻部落</title> <style type="text/css"> #link{ width:100px; height:30px; display:block; text-align:center; line-height:30px; background:#ccc; } </style> <script> window.onload=function(){ let olink=document.getElementById("link"); olink.onclick=function(){ return false; } } </script> </head> <body> <a id="link" href="http://www.softwhy.com">螞蟻部落</a> </body> </html>
點選超連結,原本會跳轉到螞蟻部落首先,現在這個跳轉動作喪失,也就是預設行為沒了。
還有兩個比較常用的場景:
(1).表單驗證驗證失敗,事件處理函式返回false,否則即便是驗證失敗,也會有表單提交動作。
(2).自定義右鍵選單,可以將contextmenu事件處理函式返回值設定為false,否則點選滑鼠右鍵時,自定義選單和預設的選單會一同展現出來,這並不是我們所期望的。
歸根節點,理解預設動作是關鍵,所以遇到一些特殊的用法,多往這方面想想。
三.return false阻止預設動作缺陷:
可以認為return false阻止瀏覽器預設行為是是return 語句的一個副業。
preventDefault方法才是阻止預設動作的"專業人士",參閱JavaScript preventDefault()一章節。
return false在通過addEventListener註冊的事件處理中無法阻止預設行為。
具體參閱preventDefault()與return false區別一章節。
相關文章
- js中return、return true、return false的區別JSFalse
- preventDefault()與return false區別False
- CSS 中 stopPropagation, preventDefault 和 return false 的區別CSSFalse
- JavaScript return 語句JavaScript
- Flutter url_launcher 報錯 canLaunch will return false(Android)的解決辦法FlutterFalseAndroid
- JavaScript 比較相同的字元返回falseJavaScript字元False
- JavaScript return語句簡單介紹JavaScript
- true || false && falseFalse
- JavaScript中0, "", null, false, undefined的區別JavaScriptNullFalseUndefined
- JavaScript--分支+迴圈(continue、break、return的區別)JavaScript
- return
- [譯]await VS return VS return awaitAI
- vue+element-ui, el-upload元件 檔案上傳之前return false,會自動呼叫檔案移除回撥問題VueUI元件False
- WPF ClipToBounds True or falseFalse
- defer vs return
- 'return await promise' 與 'return promise' 這細微的區別AIPromise
- Python解惑:True與FalsePythonFalse
- Integer128==128?falseFalse
- java exception and finally returnJavaException
- C語言: returnC語言
- SpringMVC中@RequestMapping註解中的return “redirect:/“;跟return““的用法。SpringMVCAPP
- Android之android exported="false"作用AndroidExportFalse
- Ruby中的true和falseFalse
- finally語句在return執行之後,return返回之前執行
- oracle的exit、return、continueOracle
- break,continue,return區別
- python中return的用法Python
- HttpContext.User.Identity.IsAuthenticated 為falseHTTPContextIDEFalse
- False SQL Injection and Advanced Blind SQL InjectionFalseSQL
- 排除anaconda的report false問題False
- laravel Hash::check 始終返回false?LaravelFalse
- The character that plays in MyCareer will be constantly browsing a false TwitterFalse
- Python中return self的用法Python
- ZEND_RETURN_SPEC_CONST_HANDLER
- 21.python函式(return)Python函式
- exit和return的區別
- Warning: Received `false` for a non-boolean attribute `xxx`.FalseBoolean
- js五種為false的判斷JSFalse