gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区

站長資訊網
最全最豐富的資訊網站

javascript有main函數嗎

javascript中沒有main函數。main函數常用于Java與C語言中,又稱主函數,是要求有返回值的,返回0代表程序正常執行成功,返回非0值代表程序異常結束;而在JavaScript中不存在該函數。

javascript有main函數嗎

本教程操作環境:windows10系統、javascript1.8.5版、Dell G3電腦。

javascript有main函數嗎

javascript沒有main函數

簡介

main函數,又稱主函數,作為絕大部分C程序唯一的入口,是要求有返回值的,該返回值返回給(如操作系統)來表明該程序的執行狀況。返回0代表程序正常執行成功,返回非0值代表程序異常結束,因此返回值需要是int整型,于是有了int main()的規范。

如果使用void main(),即聲明主函數沒有返回值,程序雖能編譯、運行成功,卻不利于程序的激活者判斷其狀態,這對于有很多C程序構成的大型項目來說是可能是致命的。

尤其從C99標準(1999年制定的官方C語言標準第二版)開始必須使用int main(),如果沒有加return 0;語言,C99要求編譯器自動添加(自己寫上是個好習慣)。只聲明main()的話,系統默認為int main()。void main()無論何時都不應該使用,因為主函數必須有返回值表明程序的運行狀態(在代碼中不使用void main()是一個良好的習慣)。

定義

在最新的C99標準中,只有以下兩種定義方式是正確的:

int main(void) int main(int argc, char *argv[]) // char *argv[]可以寫成char **argv

參數

void:不接受任何參數;

argc:代表程序所運行環境傳遞給程序的參數數量;

argv:指向argc+1個指針的數組的首元素的指針。數組末元素為空指針,而若前面有元素,則它們指向表示從宿主環境傳遞給程序的參數的字符串。若argv[0]不是空指針(或argc>0),則它指向表示程序名的字符串。若程序名從宿主環境不可用則該字符串為空。

返回值

返回值會用作隱式調用exit()的參數,值0和EXIT_SUCCESS指示成功終止,值非0和EXIT_FAILURE指示不成功終止。

示例如下:在JavaScript中虛構一個main函數

在C和Java中,都有一個程序的入口函數或方法,即main函數或main方法。而在JavaScript中,程序是從JS源文件的頭部開始運行的。但是某種意義上,我們仍然可以虛構出一個main函數來作為程序的起點,這樣一來不僅可以跟其他語言統一了,而且說不定你會對JS有更深的理解。

1. 實際的入口

當把一個JavaScript文件交給JS引擎執行時,JS引擎就是從上到下逐條執行每條語句的,直到執行完所有代碼。

2. 作用域鏈、全局作用域和全局對象

我們知道,JS中的每個函數在執行時都會產生一個新的作用域。具體來說,在執行流程進入函數時會建立一個新的作用域,在函數執行完成退出時會銷毀這個作用域。函數的形參、局部變量都會綁定到這個作用域里,當函數調用完成作用域銷毀時,它們隨之被銷毀。當然在特殊情況下,如果函數返回時作用域中的某些變量仍然被引用,那么作用域以及這些被引用的變量就不會被銷毀,從而形成所謂的閉包。

另一方面,我們知道函數是可以嵌套的,因而作用域也是可以嵌套的。函數在定義的時候,JS引擎會給每個函數設置一個稱為[[scope]]內置屬性,它指向外部函數的詞法作用域。通過這種方式,多個作用域形成了鏈式結構,稱為作用域鏈。通常情況下,在任意時刻只存在一條作用域鏈,即從正在執行的函數的作用域開始,層層上溯,直到最外層的全局作用域。

[注]:作用域鏈上的函數就是JS源碼里的層層嵌套的函數,跟函數執行時的順序或函數調用棧無關,這也是詞法作用域這個稱呼的由來。

全局作用域是一個特殊的作用域,它不是一個函數作用域,但它是所有函數作用域的外層作用域,也是所有作用域鏈的終點。因此只要程序沒有退出,全局作用域總是存在的,全局作用域內的變量也是一直有效的。

[函數3的作用域]–>[函數2的作用域]–>[函數3的作用域]–>[全局作用域]

另外,對應于全局作用域,還有一個全局對象。在瀏覽器中,全局對象就是window對象。全局對象是個特殊的對象:

在全局作用域中定義的變量,都會綁定到全局對象。

在任意作用域中定義的變量,如果定義時沒有用 var 關鍵字,都會綁定到全局對象。

在全局作用域中, this 指向全局對象。

從上面列舉的這些特性可以看出,如果把全局作用域當成一個對象的話,那么實際上它就是全局對象。另外,這也解釋了在全局作用域中,下面的四條語句為什么是等價的:

var a = 1; a = 1; window.a = 1; this.a = 1;

3. 虛構的main函數

既然都是作用域,為什么要有一個特殊的全局作用域呢?我們總是喜歡簡單化、一致性,而盡量避免復雜化、特殊性。所以很自然地,我們會想能否讓全局作用域看起來跟函數作用域沒什么區別?答案是肯定的。我們可以做這樣的構想:

我們想象,在JS引擎執行源文件時,會將文件中的代碼包裝到一個叫做main的函數中。然后把這個main函數作為程序的入口。

也就是說,假設一個JS文件中有這樣的代碼:

var a = 1; var b = 2;   function add(x, y) {   var z = x + y;   return z; } console.log(add(a, b));

JS引擎在程序開始執行前會把它包裝成一個main函數:

// 虛構的main函數 function main() {   var a = 1;   var b = 2;     function add(x, y) {     var z = x + y;     return z;   }     console.log(add(a, b)); }

然后,調用這個main函數:

main._current_scope_ = window; // 將全局作用域(對象)設為window main.call(window) // 將this指向window

4. 意義何在?

(1) JS也有了入口函數main,跟其他語言一致了。

(2) 省去了全局作用域的概念,或者說全局作用域也成了函數作用域。

(3) 通過上面對main函數的調用過程,可以明白全局作用域中的那些特殊性質的由來。

(4) 最后一點,將所有JS源碼當成一個函數,是為了后面講事件隊列、事件循環做鋪墊。

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
久久综合久久色| 99免费视频观看| 日韩欧美国产片| av 日韩 人妻 黑人 综合 无码| 久久精品免费一区二区| 日本久久久网站| 亚洲中文字幕无码一区二区三区 | 国产一级做a爰片久久毛片男| 美女网站视频黄色| 天天爽夜夜爽一区二区三区| 91猫先生在线| 日韩 欧美 高清| 成人av一级片| 无人在线观看的免费高清视频| 乱妇乱女熟妇熟女网站| 日本三级黄色网址| 97国产在线播放| 欧美v在线观看| 国产深夜男女无套内射| 免费在线观看亚洲视频| 欧美精品一区免费| 亚洲视频第二页| 亚洲精品免费一区亚洲精品免费精品一区 | 国产中文字幕在线免费观看| 一二三四视频社区在线| 欧美成人高潮一二区在线看| 欧美乱大交xxxxx潮喷l头像| 国产午夜伦鲁鲁| 国产精品69页| 永久免费网站视频在线观看| 国产夫妻自拍一区| 福利视频一区二区三区四区| 日韩精品一区二区免费| 亚洲综合20p| 国内少妇毛片视频| 成人三级视频在线播放| 亚洲欧美日韩精品一区| 亚洲成人福利在线| 热99这里只有精品| 欧美午夜aaaaaa免费视频| 亚洲一二三不卡| 国产精品沙发午睡系列| 邪恶网站在线观看| 霍思燕三级露全乳照| 在线视频日韩欧美| 在线观看的毛片| 国产特级淫片高清视频| 青青草原播放器| 精品久久久99| 国产无色aaa| 污网站在线免费| 在线视频日韩一区| 黄色成人在线看| 樱空桃在线播放| 毛片毛片毛片毛片毛| 老头吃奶性行交视频| 人妻少妇被粗大爽9797pw| 九一免费在线观看| 欧美aaa在线观看| 精品国产鲁一鲁一区二区三区| 九色porny自拍| 天天干天天综合| 国产精品久久成人免费观看| 嫩草视频免费在线观看| 大地资源第二页在线观看高清版| 在线能看的av网站| 欧美一级免费在线观看| 亚洲色图都市激情| 97超碰在线人人| 久草青青在线观看| 午夜免费福利在线| 久久综合在线观看| 很污的网站在线观看| 国产婷婷一区二区三区| 人妻夜夜添夜夜无码av| 97超碰青青草| 97人人模人人爽人人澡| 亚洲天堂第一区| 国产成人无码精品久久久性色| 欧美成人xxxxx| 奇米视频888| 男人添女人下面高潮视频| 国产又大又黄又粗的视频| 国产激情片在线观看| 国产 日韩 亚洲 欧美| caopor在线视频| 轻点好疼好大好爽视频| 视频区 图片区 小说区| 一女被多男玩喷潮视频| www.日本一区| 国产a级一级片| 最近中文字幕免费mv| 色悠悠久久综合网| 看全色黄大色大片| 色综合av综合无码综合网站| 国产对白在线播放| 超碰在线97免费| 亚洲自偷自拍熟女另类| 蜜臀av性久久久久蜜臀av| 日韩中文字幕组| 成人免费播放器| 成人小视频在线观看免费| 天天综合成人网| av免费网站观看| 99蜜桃臀久久久欧美精品网站| 热久久最新网址| 一级黄色录像在线观看| 国产成人久久777777| 青青草成人免费在线视频| 五月天综合婷婷| av磁力番号网| 四虎4hu永久免费入口| 强伦女教师2:伦理在线观看| 8x8x成人免费视频| 在线观看日本www| 99日在线视频| 99精品一区二区三区的区别| 北条麻妃亚洲一区| avove在线观看| 97干在线视频| 男人操女人逼免费视频| 久久国产乱子伦免费精品| 九九九在线观看视频| 男人搞女人网站| 亚洲制服在线观看| 成人网站免费观看入口| 一本大道熟女人妻中文字幕在线| 妞干网在线播放| 日本熟妇人妻xxxxx| 99久久国产宗和精品1上映| www.日本一区| 视色,视色影院,视色影库,视色网| 精品国产一区二区三区在线| 奇米777四色影视在线看| 69堂免费视频| 奇米777在线| www.99热这里只有精品| 亚洲欧洲日本精品| 国产精品久久成人免费观看| 久色视频在线播放| 一级黄色片在线免费观看| 国产精品va在线观看无码| 日本熟妇人妻中出| 轻点好疼好大好爽视频| 日韩一级免费片| 国产视频在线视频| 99在线精品免费视频| 日本a√在线观看| 特级西西444| 一本岛在线视频| 日本免费黄视频| 久久久久99精品成人片| а 天堂 在线| www午夜视频| www.日本xxxx| 成人性免费视频| 免费极品av一视觉盛宴| 亚洲综合欧美在线| 欧美两根一起进3p做受视频| 99久久免费观看| 免费cad大片在线观看| 久久艹这里只有精品| 992tv人人草| 激情成人在线观看| 青青在线免费视频| 韩国无码av片在线观看网站| 日韩欧美中文在线视频| 涩涩网站在线看| 久久久九九九热| 91免费视频黄| 4444亚洲人成无码网在线观看| 国产又粗又长又爽视频| 激情六月天婷婷| 春日野结衣av| 成人黄色片视频| 欧美国产日韩在线视频| 欧美日韩中文字幕在线播放 | 色18美女社区| 日本黄大片在线观看| 日本免费不卡一区二区| 欧美日韩国产精品激情在线播放| 日本欧美视频在线观看| 日韩一级特黄毛片| 久草热视频在线观看| 中文字幕永久视频| 中文字幕第一页亚洲| 日本www在线播放| 欧美视频国产视频| 缅甸午夜性猛交xxxx| 色婷婷综合网站| 欧美精品自拍视频| 九九九九九伊人| 日本一区二区黄色| 经典三级在线视频| 国产xxxxx视频| 成人黄色大片网站| 五月天婷婷影视| 国产av无码专区亚洲精品| 免费观看黄色大片| 欧美成人三级在线播放|