有考網(wǎng)有考網(wǎng)合作機(jī)構(gòu)>鄭州培訓(xùn)學(xué)校>鄭州金水區(qū)科創(chuàng)達(dá)內(nèi)IT教育培訓(xùn)
鄭州金水區(qū)科創(chuàng)達(dá)內(nèi)IT教育培訓(xùn)
全國統(tǒng)一學(xué)習(xí)專線 8:30-21:00
位置:有考網(wǎng) > 計算機(jī)類 > Java開發(fā) > > JavaScript是什么?  正文

JavaScript是什么?

發(fā)布時間:2021-11-22 16:58:48來源:轉(zhuǎn)載

Java學(xué)習(xí)過程中可能會涉及JavaScript,雖然不是學(xué)習(xí)的重點,但是也需要我們掌握以下,對于我們的編程之路會有所幫助,下面小編就介紹一下JS的部分基礎(chǔ)知識點。

1、執(zhí)行環(huán)境:有時也叫環(huán)境,是JavaScript中較為重要的一個概念,執(zhí)行環(huán)境定義了變量或函數(shù)有權(quán)訪問的其他數(shù)據(jù)。

2、變量對象:每一個執(zhí)行環(huán)境都有一個與之關(guān)聯(lián)的變量對象,環(huán)境中定義的所有的變量和函數(shù)都保存在這個的對象中。

3、作用域鏈:代碼在環(huán)境中執(zhí)行時,會創(chuàng)建變量對象的作用域鏈,增加對執(zhí)行環(huán)境有權(quán)訪問的所有變量和函數(shù)的有序訪問。作用域鏈的前端,始終是當(dāng)前執(zhí)行代碼所在環(huán)境的變量對象。

4、活動對象:如果當(dāng)前執(zhí)行環(huán)境是函數(shù),則將活動對象作為變量對象。

5、可執(zhí)行代碼:1)全局代碼:例如加載外部的JS文件或者本地標(biāo)簽內(nèi)的代碼,全局代碼不包括function體內(nèi)的代碼;2)函數(shù)代碼:function體內(nèi)的代碼;3)eval代碼:eval()函數(shù)計算某個字符串,并執(zhí)行其中的JS代碼,比如eval("alert('hello world')")。

6、執(zhí)行上下文棧:在一個JS程序中,必定會產(chǎn)生多個執(zhí)行上下文,JS引擎會以棧的方式來處理它們,也就是執(zhí)行上下文棧。

7、作用域:JS是一種沒有塊級作用域的語言(包括if、for等語句的花括號代碼塊或者單獨的花括號代碼塊都不能形成一個局部作用域),所以js的局部作用域的形成有且只有函數(shù)的花括號內(nèi)定義的代碼塊形成的,既函數(shù)作用域。

8、作用域鏈:是作用域規(guī)則的實現(xiàn),通過作用域鏈的實現(xiàn),變量在它的作用域內(nèi)可被訪問,函數(shù)在它的作用域內(nèi)可被調(diào)用。作用域鏈?zhǔn)且粋€只能單向訪問的鏈表,這個鏈表上的每個節(jié)點就是執(zhí)行上下文的變量對象,單向鏈表的頭部(可被第一個訪問的節(jié)點)始終都是當(dāng)前正在被調(diào)用執(zhí)行的函數(shù)的變量對象(活動對象),尾部始終是全局活動對象。

9、閉包:函數(shù)對象可以通過作用域鏈相互關(guān)聯(lián)起來,函數(shù)體內(nèi)的數(shù)據(jù)(變量和函數(shù)聲明)都可以保存在函數(shù)作用域內(nèi),這種特性在計算機(jī)科學(xué)文獻(xiàn)中被稱為“閉包”。從技術(shù)角度來說,JS的函數(shù)都是閉包:函數(shù)都是對象,都關(guān)聯(lián)到作用域鏈,函數(shù)內(nèi)數(shù)據(jù)都被保存在函數(shù)作用域內(nèi)。

相關(guān)內(nèi)容: Java Java編程 JavaScript

同類文章
相關(guān)熱詞