卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

函數的定義

在JavaScript中,使用函數前需要先定義才能調用。函數的定義包括三個部分:函數名、參數列表和函數體。函數的定義格式為:function 函數名([參數1, 參數2,...]){ 函數執(zhí)行部分;

在JavaScript中,使用函數前需要先定義才能調用。函數的定義包括三個部分:函數名、參數列表和函數體。函數的定義格式為:function 函數名([參數1, 參數2,...]){ 函數執(zhí)行部分; return 表達式;}。

例1:通過函數完成一個打招呼的程序。

例2:定義一個函數,能實現打招呼程序。

例3:使用參數實現向不同的人打不同的招呼。

函數的參數

在JavaScript函數中,函數的參數有兩種形式:形參和實參。

形參是在函數定義時指定的參數。而實參是在函數調用時指定的參數。

例4:為函數定義return返回值,改進例3的問題。

為什么函數需要返回值?函數在定義時要滿足兩個原則:內聚性強和耦合性弱。內聚性強表示函數的功能要專一,為了完成某個特定的任務而定義。而耦合性弱表示函數與函數之間盡量不要產生任何依賴關系。

函數在內存中的存儲形式

在JavaScript中,無論是有名函數還是匿名函數,都會返回函數在內存中的首地址。

棧內存用于存放簡單類型的數據,如String、Number、Boolean。

堆內存用于存儲復雜類型的數據,如Object。數組也存儲在堆內存中。

代碼段常用于存儲函數。

需要注意的是,存儲在堆內存和代碼段中的數據都是一塊連續(xù)的內存地址。一個函數的名稱也會返回函數在內存中的首地址。

根據以上結論,對于語句var i display;,相當于將display函數在內存中的首地址賦值給變量i。

如果在display的名字后面添加一個圓括號,代表找到這塊內存地址并執(zhí)行一段連續(xù)的代碼。

無論一個函數是有名函數還是匿名函數,都會返回函數在內存中的首地址。

一個函數無論有沒有名字,都會返回函數在內存中的首地址。簡化之,我們把這種沒有任何名字的函數稱之為“匿名函數”。

標簽: