、执行环境
执行环境(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小时内与您取得联系。