學習JavaScript的過程,我相信很多人都有這個疑惑 ,return是什麼,只知道他是一個返回,但是他能返回什麼,他有用什麼作用呢 ,至此我看了很多博客,也蒐集了很多資料,如果有錯誤,請幫忙更正
return:
第一返回函數值:
返回函數中的值,外部調用函數時,則會調用這個值。閉包中就是運用這個屬性,調用函數內部的局部變量,以不影響全局變量。
下面來看一個例子吧:
當執行的時候,函數fn()執行了,頁面會輸出5,但是console出來的卻是一個undefined,無論你在fn()函數中寫任何東西,變量獲取彈出的都是undefined,
如果你需要他能夠賦值給變量,這時候就需要用到return,
X變量得到的就是10;
任何數據都能夠被return
我們來return一個函數試試
var x=fn(); console.log(x); function fn() { var output=10; document.write(output); return function () { alert(1); } } 猜猜這時候變量x會得到什麼 , 因爲 return返回的是
function () { alert(1); } 所以X得到的也是函數體 如何得到函數裏面的內容, 那就得給x加個括號讓他執行, X();
var x=fn(); x(); console.log(x); function fn() { var output=10; document.write(output); return function () { alert(1); } } 當然如果沒有賦值變量,我們也可以直接 fn()(); 讓他進行兩次執行,執行的春旭會先執行第一個fn()函數,在執行fn函數裏面的第二個函數..
fn()(); function fn() { var output=10; document.write(output); return function () { alert(1); } } 得到的結果也是同樣的.. 我們再來舉一個例子.
var y=sum(7,8,2,7,2,1,5); document.write(y); function sum() { var x=0; for (var i=0; i<arguments.length; i++) // 獲取被傳遞參數的數值。 { x+=arguments[i]; } return x } 一個簡單的參數加法運算, 如果你想取得函數內部的值,並將它賦予新的變量,那可以通過return在外部訪問到內部的值. 第二當函數執行到return,函數後面將不會在執行後面的代碼
alert( person(15)); function person(age) { if (age<="16") { return age+ "你還年輕"; } else { return age +"你老了"; } alert("這裏的代碼講不會執行");
這裏的return有點像break,作用都有截斷後面代碼的作用,但是return的功能卻不知是截斷代碼. 在js中return false的作用一般是用來取消默認動作的。比如你單擊一個鏈接除了觸發你的 onclick時間(如果你指定的話)以外還要觸發一個默認事件就是執行頁面的跳轉。所以如果 你想取消對象的默認動作就可以return false。
<body onselectstart="return false"> </body> //這裏的onselectstar 實際是一個時間,設置return false 禁止裏面的文字圖片被選中 $("a.toggle").click(function () { $("#mydiv").toggle(); return false; // Prevent browser from visiting `#` }); //這個函數使用toggle來顯示或者隱藏#mydiv,然後阻止瀏覽器繼續訪問href中指定的鏈接。