、執行環境
執行環境(execution context)是JavaScript中最為重要的一個概念。執行環境定義了執行環境有權訪問的變量和函數。每個執行環境都有一個與之關聯的變量對象(varibale object),環境中定義的所有變量或函數都保存在這個對象中。雖然我們編寫的代碼無法訪問這個對象,但解析器在處理數據時會在后臺使用它。
全局執行環境是最外圍的一個執行環境。根據ECMAScript實現所在的宿主環境不同,表示執行環境的對象也不一樣。在Web瀏覽器中,全局執行環境被認為是window對象,因此所有全局變量和函數都是作為window對象的屬性和方法創建的。某個執行環境中的所有代碼執行完畢后,該環境銷毀,保存在其中的所有變量和函數定義也隨之銷毀(全局執行環境直到應用程序退出—例如關閉網頁或瀏覽器—時才會被銷毀)。
每個函數都有自己的執行環境。但執行流進入一個函數時,函數的環境就會被推入一個環境棧中。而在函數執行之后,棧將其環境彈出,把控制權返回給之前的執行環境。ECMAScript程序中的執行流正式由這個方便的機制控制著。
二、作用域鏈
當代碼在一個環境中執行時,會創建變量對象的一個作用域鏈。作用域鏈的用途,是保證對執行環境有權訪問的所有變量和函數的有序訪問。作用域鏈的前端,始終是當前執行的代碼所在環境的變量對象。
如果這個環境是函數,則將其活動對象(activation object)作為變量對象。活動對象在最開始時只包含一個變量,即arguments對象(這個對象在全局環境中是不存在的)。作用域鏈中的下一個變量對象來自包含(外部)環境,而再下一個變量對象則來自下一個包含環境。這樣,一直延續到全局執行環境,全局執行環境的變量對象始終都是作用域鏈中的最后一個對象。
標識符解析是沿著作用域鏈一級一級地搜索標識符的過程。搜索過程始終從作用域鏈的前端開始,然后逐漸地向后回溯,直到找到標識符為止(如果找不到標識符,通常會導致錯誤發生)。
var color="blue"; function changeColor(){ var anotherColor="red"; function swapColors(){ var tempColor=anotherColor; anotherColor=color; color=tempColor; //這里可以訪問color、anotherColor和tempColor } //這里可以訪問color和anotherColor,但不能訪問tempColor swapColors(); } //這里只能訪問color changeColor();
以上代碼共涉及3個執行環境:全局環境、changeColor()的局部環境和swapColors()的局部環境。對于例子中的swapColors()而言,其作用域鏈中包含3個對象:swapColors()的變量對象、changeColor()的變量對象和全局對象。
內部環境可以通過作用域鏈訪問所有的外部環境,但外部環境不能訪問內部環境中的任何變量和函數。這些環境之間的聯系是線性、有次序的。每個環境可以向上搜索作用域鏈,以查詢變量和函數名,但任何環境都不能通過向下搜索作用域鏈而進入另一個執行環境。
有一個好的編輯器我們可以方便地的開發項目,編寫代碼,配置和管理我們的項目。所以我們開始編寫html代碼之前需要搭建開發環境。
基于html項目的開發和代碼編寫現在網上有很多編輯器,也有免費的,也有收費的編輯器。基于在Windows系統環境下開發和編寫html代碼最簡單的編輯器就是Windows自帶的記事本,我們可以使用記事本編輯html代碼。
使用記事本編寫html的步驟是首先新建一個文本文檔,按照html的語法規則編寫相關的代碼和保存文件,然后把文件的后綴名改為.html,使用電腦上的瀏覽器打開就可以查看我們代碼的運行結果。
雖然記事本也能編寫html代碼,但是效率不高也不方便,所以我們使用專業的編輯器來開發項目,編寫代碼和管理項目。
常用html代碼編寫的免費軟件有HBuilderX,vs code,Sublime Text 等等。
HBuilderX官網下載地址:
https://www.dcloud.io/hbuilderx.html
vs code的官網下載地址:
https://code.visualstudio.com/
Sublime Text官網下載地址:
http://www.sublimetext.com/
我們以后的教程都使用HBuilderX,所以下面為了同學們的學習方便,對HBuilderX的下載和安裝做詳細的教程。
一,下載
首先訪問HBuilderX的官網網址:
https://www.dcloud.io/hbuilderx.html
打開上面的HBuilderX下載網址后點擊頁面上download,在彈出的對話框里選擇適合自己電腦的HBuilderX版本下載。
在Windows10環境下下載后的文件是一個壓縮的.zip文件。
二,安裝
鼠標右擊下載下來的壓縮文件進行解壓。
解壓完成后是一個名為HBuilderX的文件夾。
解壓完成后鼠標雙擊HBuilderX文件夾:
雙擊運行名為HBuilderX.exe的應用程序文件即可啟動HBuilderX編輯器:
因為HBuilderX是一個綠色軟件所以沒有桌面快捷方式和開始菜單快速啟動程序,我們可以右擊HBuilderX.exe文件創建桌面快捷方式。
小百科:
綠色軟件指一類小型軟件,多數為免費軟件,最大特點是軟件無需安裝便可使用,可存放于閃存中,移除后也不會將任何記錄留在本機計算機上。通俗點講綠色軟件就是指不用安裝,下載直接可以使用的軟件。綠色軟件不會在注冊表中留下注冊表鍵值,所以相對一般的軟件來說,綠色軟件對系統的影響幾乎沒有,所以是很好的一種軟件類型。
三,新建項目
HBuilderX編輯器初次啟動時的默認界面是下圖所示:
按照下圖所示可以創建一個新的名為demo1空白項目:
名為demo1的空白項目創建成功后的界面如下圖所示:
接下來在剛我們新建的demo1項目下創建名為helloworld的html文件
鼠標右擊創建的demo1項目選擇新建在選擇.html文件:
在彈出的對話框里填入html文件的名稱:
編寫一段代碼:
運行:
在瀏覽器上觀察效果:
好了,到這里html的開發環境搭建和HBuilderX的安裝教程結束了。
下面再給大家教一下怎樣修改HBuilderX的主題風格,HBuilderX自身提供了修改軟件主題的功能,使用者可以自身需求和喜好修改HBuilderX的風格。在喜歡自己喜歡的環境下做開發也是令人羨慕的一件事。
按照以下步驟可以修改HBuilderX的主題,默認主題是綠柔,我們可以改成雅黑,雅藍或者自定義主題:
雅黑主題:
雅藍主題:
好了本節全部內容全部結束了,希望我準備的內容對你有所幫助
你的支持是我的最大動力,若覺得我的教程還可以或對你有幫助為我點贊加關注!謝謝!
要:在IT行業中,后端開發者發揮著至關重要的作用。尤其是在技術變革日新月異的時代,更需要后端開發者不斷提升自我的技能,但是,無論技術迭代如何迅速,后端開發人員的“基本功”都不可以落下。本文展開討論成為JavaScript堆棧后端開發人員,必須經歷的那些事……
原文鏈接:
https://billypentester.medium.com/ultimate-10-stages-to-master-backend-development-f6f65f22a327
聲明:本文為CSDN翻譯,轉載請注明來源。
譯者 | 朱珂欣 責編 | 屠敏
出品 | CSDN(ID:CSDNnews)
隨著時代的發展,越來越多編程語言和開發工具的出現,讓開發者能夠方便且快捷地開發和部署應用程序。其中,后端開發多是指服務器端編程,開發人員通過創建應用程序體系結構和業務邏輯,以此處理和存儲數據并輸出有用的信息。
毋庸置疑,成為后端開發人員必然有門檻,掌握Web和操作系統的基礎知識、了解數據庫、計算機網絡協議、數據結構和算法、開發工具等,逐漸成為后端開發人員的入門技能。后端編程語言、框架和堆棧也很多,例如JavaScript、Python、PHP、Java、Ruby等。那么,成為JavaScript堆棧后端開發人員,需要面臨那幾個必須經歷的階段呢?
第1階段:掌握Web基礎知識
在開發人員的初始階段,學習Web的基礎知識是至關重要的。因為擁有Web概念可以幫助開發人員更好地了解互聯網的工作原理,例如使用哪些協議、如何傳遞消息等。
首當其沖的是了解Web中的一些基本概念,例如HTTP的概念、HTTP的基本方面、HTTP 請求的類型及作用、客戶端和服務器模型、OSI 模型、DNS 工作原理等。
第3階段:學習后端框架和語言
第4階段:使用服務器框架和API開發
第5階段:使用模板引擎
第6階段:了解數據庫
后端應用程序可以通過使用MongoDB,MySQL等第三方npm包查詢數據庫來直接與數據庫交互。如果開發人員不了解SQL或數據庫語言,則需要學習任何ORM/ODM作為中間件,將對象方法轉換為復雜的數據庫查詢,這些中間件為開發人員提供了一個名為模型的完整結構,用于在將數據輸入數據庫之前驗證數據。此外,它在對象模型之上提供了一個額外的安全層。
第7階段:關注安全性
安全性是企業級 Web 應用程序的一大關注點。單個漏洞會導致數據泄露或應用程序故障。Web 應用中應有適當的驗證、身份驗證和授權。
限制:使用中間件應用請求限制,防止DDOS攻擊。
第8階段:使用消息代理
消息代理成為幫助克服其中一些困難的解決方案之一。消息代理由 3 個組件組成:
制作人:生產者發送有關主題的消息。一個或多個發布者可以針對同一主題發布內容;
消費者:訂閱者訂閱主題,發布到該主題的所有消息都將由該主題的所有訂閱者接收;
在實時服務器上部署Web應用程序之前,為了減少單個錯誤的輸入或缺少數據導致正在運行的服務器出現故障,需要進行測試。
測試可以根據多個標準在多個級別上進行,開發人員可以檢查Web應用是否返回了正確的狀態代碼、錯誤消息、數據等。
在部署Web應用之前,開發人員需要學習Git、GitHub的操作以及版本控制工具的使用,以使部署靈活且可擴展。
Git可以用于版本控制,通過創建多個分支,跟蹤源代碼中的更改,并使多個開發人員能夠協同工作。GitHub是一個用于版本控制和協作的代碼托管平臺,可以允許開發人員和其他人共同處理項目。GitHub操作可幫助您自動執行軟件開發工作流。單個操作是可重用的代碼段,可用于在 GitHub上生成、測試、打包或部署項目。它還可用于自動執行工作流程的任何步驟。部署完整的Web應用非常復雜。開發者還需要一個專用服務器來響應HTTP請求,并使用在線數據庫。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。