Web 前端入门 JS 基础知识梳理汇总
Web 前端工程师是当前各大企业都比较稀缺的人才,薪资待遇和就业前景都很不错。不论是专业还是非专业,有基础亦或是无基础,都想通过学习 Web 前端实现高薪就业。不过,学习要一步一个脚印,不能一口吃一个胖子,所有的实战经验都是基于理论而积累形成,今天的 Web 前端入门学习教程就给大家梳理汇总一下 JS 相关的基础知识点。
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 的函数都是闭包:函数都是对象,都关联到作用域链,函数内数据都被保存在函数作用域内。
Web 前端入门 JS 基础知识梳理汇总的更多相关文章
- Anliven - 基础知识梳理汇总 - 软件测试
基础知识梳理 - 软件测试 - 概念 基础知识梳理 - 软件测试 - 分类 基础知识梳理 - 软件测试 - 流程 基础知识梳理 - 软件测试 - 用例 基础知识梳理 - 软件测试 - 方法 基础知识梳 ...
- Web前端入门必学知识
入门主要有三个部分 一.html+css部分: 1.前端的入门门槛极低,体现在HTML和CSS上运行环境就是浏览器,html+css这部分特别简单,网上搜资料,书籍视频非常多.css中盒 ...
- web前端篇:html基础知识
目录 1.web前端: 2.HTML概述 2.1HTML介绍 2.2HTML在计算机中如何表现 3.HTML基础语法 4.练习题: 1.web前端: 什么是web? web 就是网页,是一种基于B/S ...
- 初学者入门web前端:C#基础知识:函数
入行前端对函数的掌握程度有可能直接影响以后工作的效率,使用函数可以高效的编写编码,节省时间,所以我整理了C#中最基础的函数知识点,虽然我在学习中 遇到很多问题,但是只要能够解决这些问题,都是好的. 一 ...
- js基础知识梳理(最简版)
基础的JavaScript知识,只放XMind截图.小白 JS01 JS02 JS03 最基础的js知识--!
- Web前端开发--JS技术大梳理
什么是JS JavaScript是一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语 ...
- web前端——Vue.js基础学习
近期项目的前端页面准备引入Vue.js,看了网上一些简介,及它和JQuery的对比,发现对于新入门的前端开发来说,Vue 其实也是比较适用的一个框架,其实用性不比JQuery差,感觉还挺有意思,于是研 ...
- web前端——Vue.js基础学习之class与样式绑定
打着巩固 css 知识的旗号开始了对 vue 样式绑定的研究,相比前一篇的 demo,本次内容多了各种样式在里面,变得稍微花哨了些,话不多说,直接上代码吧: <html> <head ...
- web前端之html基础知识初级
html 基础标签 单标签 1.注释标签: ctrl+/ 换行标签: 横线标签: 标题标签: 段落标签: 表示强调标签: 文字 属性:文字加颜色 color:改变文字颜色 size:改文字大小属性 例 ...
- Node.js基础知识
Node.js入门 Node.js Node.js是一套用来编写高性能网络服务器的JavaScript工具包,一系列的变化由此开始.比较独特的是,Node.js会假设在POSIX环境下运行 ...
随机推荐
- php中self和$this还有parent的区别
1.self代表类,$this代表对象 2.能用$this的地方一定使用self,能用self的地方不一定能用$this 3.parent只能调用静态属性,并且可以调用父类中公有和受保护的方法 静态的 ...
- K8s 与 Service Mesh(服务与流量治理)
K8s相关资料可参考链接: Kubernetes简介 1 什么是Service Mesh Service Mesh 是一个专门处理服务通讯的基础设施层.它的职责是在由云原生应用组成服务的复杂拓扑结构 ...
- 07 如果再使用animateCC2018或者苹果系统使用animate时出现Uncaught ReferenceError: lib is not defined的错误
我刚开始还以为是模板造成的,换了个没有问题的模板就没有问题了,原来问题是这样. 点我预览,请看该文章
- Mysql 字段加密
1.PASSWORD() 2.ENCODE(,) DECODE(,) 3.MD5()4.SHA5() 5.AES_ENCRYPT AES_DECRYPT 加密 select aes_encry ...
- Alibaba Cloud Linux 3.2104 64位安装mysql5.6.45
1 .安装cmake wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz tar -zxvf cmake-2.8.10.2.tar.g ...
- Redis 集群模式的安装与配置【源码安装redis-7.0.5】
Redis最新版下载地址:http://download.redis.io/releases/redis-7.0.5.tar.gz 步骤如下: 1)wget http://download.redis ...
- BinarySearch,逆序排列的数组的二分查找(折半查找),C++非递归+递归实现
1 // To Compile and Run: g++ binary_search.cc -std=c++11 -Wall -O3 && ./a.out 8 2 3 4 #inclu ...
- Oracle_20200416
PLSQL 新建普通用户 1.使用system登录 2.File-->NEW-->SQL WINDOW 3.执行语句 --创建用户 --create user 用户名 identified ...
- animation 和 transition 的区别
Transition 提供了从一种状态过渡到另一种状态的改变. Animation 则可以从不同关键帧(@keyframes)上设置多个过渡点. Transition 关注的是元素指定css属性的变化 ...
- 代码版本管理git
git工作流程如下: 克隆 Git 资源作为工作目录. 在克隆的资源上添加或修改文件. 如果其他人修改了,你可以更新资源. 在提交前查看修改. 提交修改. 在修改完成后,如果发现错误,可以撤回提交并再 ...