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环境下运行 ...
 
随机推荐
- 简单的理解synchronized锁升级
			
前言 今天碰到一个synchronized锁升级的问题, 查了查, 发现一个帖子举例说明比较贴切, 特此转发, 如有问题, 欢迎讨论说明 转自: 木叶盒子 https://www.bilibili.c ...
 - MySQL-explain详解说明
			
1.Explain介绍 在日常工作中, 我们会有时会开慢查询去记录一些执行时间比较久的SQL语句, 找出这些SQL语句后我们常常会用explain这个命令来查看一个这些SQL语句的执行计划, 查看该S ...
 - Codeforces Round #728 (Div. 2) C. Great Graphs
			
Great Graphs 题意 给你一个数组\(d\),\(d[i]\)表示从节点\(1\)到其他各个节点的最短路的长度,然后你可以对这个图进行加边(可以是负边),但不允许存在一个权值和为负数的回路. ...
 - CCF 202012-2	期末预测之最佳阈值
			
#include <iostream> #include <bits/stdc++.h> #include <string> using namespace std ...
 - Mysql学习:3、sql数据类型及命令
			
1.sql功能分类: 2.常见数据类型: 3.sql命令: DDL命令: a.创建数据库: create database testdatabase(数据库名称) character set utf8 ...
 - px  转化 为 rpx
			
小程序 的 px 转化为rpx 在 获取 屏幕高度 后 ,这个单位是px ,可是我的项目是用rpx,所以这里就涉及一个转化的公式了 1rpx = 750 / 设备屏幕宽度 所以 wx.getSyste ...
 - 1903021126-申文骏 实验一 19信计java-Markdown排版
			
项目 内容 课程班级博客链接 19级信计班 作业要求链接 实验一 课程学习目标 大致学会Markdown排版 任务1:在博客园平台注册个人博客账号和加入班级博客 注册了博客园的个人账号,提交了博客申请 ...
 - python Schedule
			
pip install schedule import schedule # 定义需要执行的方法 def job(): print("a simple scheduler in python ...
 - Nexus5安装PostmarketOS(Alpine Linux)并装上Docker
			
 Postmarket OS是一个基于Alpine Linux.能够安装到手机或其他移动设备上.当然linux deploy也可以使用SSH,但linux deploy运行在容器里.使用上会有些限制 ...
 - js 原生数据类型判断
			
之前一直使用的jquery的数据类型判断,比如:isArray()等,今天看到了一个判断数据类型的简单的原生方法,分享给大家 Object.prototype.toString 方法返回对象的类型字符 ...