JavaScript 為什麼有些教程函式不用 return?

時間 2021-06-07 05:46:52

1樓:逆風飄揚

因為有的引數是值型別,有的引數是引用型別。

值引數需要return。引用引數則不用。

舉個通俗例子:

你的膝上型電腦需要安裝QQ,但是你不會。

值傳遞就相當於你把電腦拿去找個會裝QQ的人,裝完你還需要把電腦再帶回家。

引用傳遞就相當於,你把你的電腦IP位址告訴對方,對方直接遠端協助,給你裝好了QQ。電腦一直在你家沒動,因此不需要"return"。

2樓:tetradecane

像js,python這種動態語言,函式可以有返回值,也可以沒有返回值,形式上除了return語句沒有區別。你可以試著把返回值列印出來看看是什麼。

像C,Pascal這種靜態語言,無返回值和有返回值的函式一般有明確區分。

C語言中,函式定義為

//無返回值的函式

void 函式名(型別引數變數名)

//有返回值的函式

返回值型別函式名(型別引數變數名)

在pascal中,無返回值的函式被稱為過程,有返回值的函式被稱為函式,定義為

procedure 過程名(引數變數名:型別);

begin

執行語句;

end;

function 函式名(引數變數名:型別):返回值型別;

begin

執行語句;

函式名:=返回值;

exit;

end;

為什麼JavaScript裡面typeof null 的值是 object ?

自由的囚徒 這是JS語言本身的乙個bug。不同的物件在底層都表示為二進位制,在js中二進位制前三位都為0的話會被判斷為object型別,null的二進位制表示全是0,自然前三位也是0,所以執行typeof時返回 object 阿布丁 說句人話,不說書裡的鬼話 因為 所有引用型別的名字是乙個指標,指的...

你為什麼選擇 JavaScript ?

牆外一枝花 多年前,面試的時候,一邊是三年.net 給你6k,一邊是3個月js也是6k,所以沒那麼多為什麼,最初的選擇源於人性的最基本訴求,溫飽。 題葉 最開始上網,沒人教程式設計,我唯一能折騰的東西只有瀏覽器,高中用 GreenBrowser 替換了 IE 自以為很開心,後來知道 Opera,最後...

JavaScript 為什麼要把 this 暴露出來

孫竟 這是動態語言帶來的靈活性啊,Python 也是這樣。在不需要靈活性的地方,你完全可以不用 this。可是你用到了,就說明你確實需要。舉例來說,你怎麼在 C 裡傳遞乙個物件的方法?想想都覺得很麻煩。而 JS 可以把乙個函式和物件通過 Function.prototype.bind 繫結在一起 即...