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 繫結在一起 即...