Web前端必須掌握的三種技能:HTML/CSS/JavaScript。其中JavaScript相對有一定的難度,甚至部分企業專門設置的JavaScript開發工程師的崗位。今天和大家分享一下JavaScript部分基礎知識。 1、執行環境:有時也叫環境,是JavaScript中最為重要的一個概念,執 ...
Web前端必須掌握的三種技能:HTML/CSS/JavaScript。其中JavaScript相對有一定的難度,甚至部分企業專門設置的JavaScript開發工程師的崗位。今天和大家分享一下JavaScript部分基礎知識。
1、執行環境:有時也叫環境,是JavaScript中最為重要的一個概念,執行環境定義了變數或函數有權訪問的其他數據。
2、變數對象:每一個執行環境都有一個與之關聯的變數對象,環境中定義的所有的變數和函數都保存在這個的對象中。
3、作用域鏈:代碼在環境中執行時,會創建變數對象的作用域鏈,保證對執行環境有權訪問的所有變數和函數的有序訪問。作用域鏈的前端,始終是當前執行代碼所在環境的變數對象。
4、活動對象:如果當前執行環境是函數,則將活動對象作為變數對象。
5、可執行代碼:1)全局代碼:例如載入外部的JS文件或者本地標簽內的代碼,全局代碼不包括 function體內的代碼;2)函數代碼:function體內的代碼;3)eval代碼:eval()函數計算某個字元串,並執行其中的JS代碼,比如eval("alert('hello world')")。
6、執行上下文棧:在一個JS程式中,必定會產生多個執行上下文,JS引擎會以棧的方式來處理它們,也就是執行上下文棧。
7、作用域:JS是一種沒有塊級作用域的語言(包括if、for等語句的花括弧代碼塊或者單獨的花括弧代碼塊都不能形成一個局部作用域),所以js的局部作用域的形成有且只有函數的花括弧內定義的代碼塊形成的,既函數作用域。
8、作用域鏈:是作用域規則的實現,通過作用域鏈的實現,變數在它的作用域內可被訪問,函數在它的作用域內可被調用。作用域鏈是一個只能單向訪問的鏈表,這個鏈表上的每個節點就是執行上下文的變數對象,單向鏈表的頭部(可被第一個訪問的節點)始終都是當前正在被調用執行的函數的變數對象(活動對象),尾部始終是全局活動對象。
9、閉包:函數對象可以通過作用域鏈相互關聯起來,函數體內的數據(變數和函數聲明)都可以保存在函數作用域內,這種特性在電腦科學文獻中被稱為“閉包”。從技術角度來說,JS的函數都是閉包:函數都是對象,都關聯到作用域鏈,函數內數據都被保存在函數作用域內。
自己是從事了五年的前端工程師,自己整理了一份最全面前端學習資料,
從最基礎的HTML+CSS+JS到HTML5的項目實戰的學習資料都有整理,送給每一位前端小伙伴,有想學習web前端的,或是轉行,或是大學生,還有工作中想提升自己能力的,
正在學習的小伙伴,
需要可以私聊我喲,這是我的前端開發qun,【六零三】【九八五】【九九三】,直接群里下載,
對於學習web前端有任何問題(學習方法,學習效率,如何就業)都可以問我,
JavaScript本身並不複雜,但是在實際應用中各種效果的使用與實現確實需要開發者多多動腦筋。同樣是web前端工程師,如果JavaScript技能掌握的更好,則可以獲得更多的機會以及薪資了。