iT邦幫忙

0

html引用 JS function 時,寫check()和 return check() 的差別是甚麼

  • 分享至 

  • xImage

請問各位大師他們差在哪裡
為什麼要多加一個return

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

0
㊣浩瀚星空㊣
iT邦大神 1 級 ‧ 2022-06-30 16:00:00
最佳解答

第一個只是單純運行。
第二個是要拿回運行的回傳值。
就常理來說的單純解釋是這樣。

但實際上來說,後者的使用,大多是為了元件的運行為主。
其回傳值一定是「真偽值」

基本上會這樣使用的情況,大多是在 A連結或是 submit 等有 href 動作的元件。
因為

return false;

會讓 href 之類的動作停止不運行。
也就是說可以拿來做驗証表單之類的事。

當驗証不過的情況下,可以回傳一個偽值告知呼叫的元件不在往下運行。
算是一種簡單的事件應用方式。

學到了 感謝你喔!!

0
bill0704
iT邦新手 5 級 ‧ 2022-06-30 16:09:31

這是因為scope的概念
在父函式中若沒有變數或return接住內部(子)呼叫的函式的情況下
他執行的output結束後沒有綁定在父層的scope中
所以不會回傳

詳情可見此範例

let helloTaiwan=(e)=>"吃飽沒"

function helloWorld(){
	
	return helloTaiwan()
}

function helloWorld2(){
	
	helloTaiwan() //他會在自己的scope執行完就結束
    //因為不會跑到helloWorld2的scope,所以最後回傳undefined
}

console.log("1",helloWorld()) //吃飽沒
console.log("2",helloWorld2()) //undefined
bill0704 iT邦新手 5 級 ‧ 2022-06-30 16:32:10 檢舉

看了星空大的回答才發現我把問題搞錯XD
這個問題也可以參考以下網址:
https://www.796t.com/content/1550625512.html

如在Form onsubmit的check function若沒有加return,html的onSubmit會預設回傳true,所以會繼續將表單提交到後端

下次我把題目寫詳細一點
你的補充非常清楚,感謝!!!!!!!

我要發表回答

立即登入回答