js中注册标识符流程

注册分为三个阶段:分别是注册阶段,函数处理阶段,变量处理阶段这三个阶段有先后顺序的。(注:这三个阶段的名字没有权威性,是作者为了方便记忆自己起的名字)

注册阶段的特征

1.此时不会运行代码

2.检查低级的语法错误

3.注册在当前词法环境中所声明的变量和函数

4.一旦创建了新的词法环境,就会执行这一阶段

函数处理阶段

如果是函数环境(也就是说局部环境):创建形参及函数参数的默认值;然后实参形参相统一。 如果全局环境,就跳过这这一步

接下来是全局环境和函数环境都经历的:将函数声明进行扫描并绑定到当前环境与函数名相同的标识符上。若该标识符已经存在,那么该标识符的值将被重写。(注意此时不会理会函数表达式和箭头函数)

对变量进行处理

若在全局作用域中或者函数作用域中。扫描三种变量 var 、let、const定义的变量。

若是块级作用域:扫描两种变量 let、const定义的变量。对于所查找到的变量,若该标识符不存在,进行注册并将其初始化为undefined。若该标识符已经存在,将保留其值。

 

转载于:https://www.cnblogs.com/weikemudan/p/11152041.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/392787.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jsp论坛网站模版_网站关键词优化怎么做

说到网站关键词优化,大多企业都很陌生,建站公司说的关键词优化头头是道。跟听天书似的,51商务网小编为大家总结的网站优化方法希望可以帮到大家,首先要说的是做网站优化第一点就是要有耐心,如果很长时间没有收录的话&a…

feature功能_利用feature-u V1释放基于功能的JS开发的强大功能

feature功能This article is an introduction to a new JS library called feature-u, that facilitates feature-based development in your React project.本文是对新的JS库(称为feature-u )的介绍,该库促进了React项目中基于功能的开发 。 Note: On 8/14/2018 f…

虚拟实验工场大学计算机实验报告答案,虚拟实验实验报告 - 实验报告 - 书业网.doc...

虚拟实验实验报告 - 实验报告 - 书业网虚拟实验实验报告 - 实验报告 - 书业网篇一:虚拟实验报告第一章 文献综述1.1 丙酮酸脱氢酶概述丙酮酸脱氢酶复合体(Pyruvate Dehydrogenase Complex)催化丙酮酸不可逆的氧化脱羧转化成乙酰辅酶A。该复合体是糖酵解的关键限速酶…

【笔记】一些linux实用函数技巧【原创】

函数返回的是函数的地址 kallsyms_lookup_name() 本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/sky-heaven/p/5191491.html,如需转载请自行联系原作者

leetcode 845. 数组中的最长山脉

我们把数组 A 中符合下列属性的任意连续子数组 B 称为 “山脉”&#xff1a; B.length > 3 存在 0 < i < B.length - 1 使得 B[0] < B[1] < … B[i-1] < B[i] > B[i1] > … > B[B.length - 1] &#xff08;注意&#xff1a;B 可以是 A 的任意子数组…

【Lintcode】018.Subsets II

题目&#xff1a; Given a list of numbers that may has duplicate numbers, return all possible subsets Notice Each element in a subset must be in non-descending order.The ordering between two subsets is free.The solution set must not contain duplicate subset…

多线程1

1-1 进程 程序是静止的&#xff0c;运行中的程序就是进程。进程的三个特征&#xff1a; 动态性 &#xff1a; 进程是运行中的程序&#xff0c;要动态的占用内存&#xff0c;CPU和网络等资源。独立性 &#xff1a; 进程与进程之间是相关独立的&#xff0c;彼此有自己的独立内存区…

go 列出已经安装的包_Go 安装教程

一、在 Windows 上安装 Go 环境首先在 Go 官网 下载 Windows 系统下的一键安装包。然后双击打开该文件&#xff0c;一直点 Next 就行。注意这里默认是安装到 C 盘&#xff0c;建议不要修改&#xff0c;因为环境变量会自动设置&#xff0c;如果安装到其他盘&#xff0c;那么可能…

【转】spin_lock、spin_lock_irq、spin_lock_irqsave区别

为什么80%的码农都做不了架构师&#xff1f;>>> 转自&#xff1a;http://blog.csdn.net/luckywang1103/article/details/42083613 void spin_lock(spinlock_t *lock);void spin_lock_irq(spinlock_t *lock);void spin_lock_irqsave(spinlock_t *lock, unsigned lon…

七年级计算机上教学计划,初一教学计划模板锦集5篇

初一教学计划模板锦集5篇时光在流逝&#xff0c;从不停歇&#xff0c;我们又将迎来新的教学工作&#xff0c;我们要好好计划今后的教育教学方法。那么一份同事都拍手称赞的教学计划是什么样的呢&#xff1f;以下是小编为大家整理的初一教学计划5篇&#xff0c;仅供参考&#xf…

程序员实际情况_程序员实际上是做什么的?

程序员实际情况What do programmers actually do? What can they be working on?程序员实际上是做什么的&#xff1f; 他们可以做什么&#xff1f; In this video from an Airbnb software engineer, you will learn about what programmers do on a day-to-day basis. She …

leetcode 1365. 有多少小于当前数字的数字(排序)

给你一个数组 nums&#xff0c;对于其中每个元素 nums[i]&#xff0c;请你统计数组中比它小的所有数字的数目。 换而言之&#xff0c;对于每个 nums[i] 你必须计算出有效的 j 的数量&#xff0c;其中 j 满足 j ! i 且 nums[j] < nums[i] 。 以数组形式返回答案。 示例 1&…

spring整合springmvc案例

面试遇到过上机操作&#xff0c;不知道小伙伴们遇到过没。 案例。 1、新建web项目&#xff0c;找到相关的jar包。 转载于:https://www.cnblogs.com/sjzxs/p/11158116.html

我的世界服务器玩家在线时间,将公布上线时间?我的世界中国版网易520前瞻

【17173专稿&#xff0c;转载请注明出处】《我的世界》中国版最近一段时间动作不断。网易CEO丁磊在财报电话会议上公布了《我的世界》手游版会在7月份推出&#xff0c;结合《我的世界》中国版的公告提及&#xff1a;”《我的世界》中国版即将在暑期上线“。如此看来手游版和PC版…

ftpwebrequest 无法加载或初始化请求的服务提供程序_jvm之类加载机制

什么是类加载每个编写的".java"拓展名类文件都存储着需要执行的程序逻辑&#xff0c;这些".java"文件经过Java编译器编译成拓展名为".class"的文件&#xff0c;".class"文件中保存着Java代码经转换后的虚拟机指令&#xff0c;当需要使…

【284天】我爱刷题系列(43)

叨叨两句 身体是灵魂的载体&#xff0c;灵魂是身体的指引&#xff0c;用心维护、驯化你的身体&#xff0c;构建通道&#xff0c;指引它将力量与情绪宣泄在你想做出成绩的领域&#xff0c;神奇的事情就会发生&#xff0c;哈哈。牛客网——java专项练习023 1 SuppressWarnings(“…

基于python渗透测试_Python中基于属性的测试简介

基于python渗透测试by Shashi Kumar Raja由Shashi Kumar Raja Python中基于属性的测试简介 (Intro to property-based testing in Python) In this article we will learn a unique and effective approach to testing called property-based testing. We will use Python , p…

leetcode144. 二叉树的前序遍历(迭代)

给定一个二叉树&#xff0c;返回它的 前序 遍历。示例:输入: [1,null,2,3] 1\2/3 输出: [1,2,3]代码 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val…

矩阵的理解经典博客

矩阵理解一&#xff1a;https://blog.csdn.net/myan/article/details/647511 矩阵理解二&#xff1a;https://blog.csdn.net/myan/article/details/649018 矩阵理解三&#xff1a;https://blog.csdn.net/myan/article/details/1865397 关键结论&#xff1a; 1. 首先有空间&…

推断图片格式

Linux/Unix下系统推断文件类型并不根据文件名称&#xff0c;也即不会根据文件后缀来推断文件的类型。从网上下载了一个图片&#xff0c;没有后缀&#xff0c;希望可以正确推断出格式。以便于共享到其它平台&#xff0c;该怎么办呢&#xff1f; 不同文件类型的文件头部信息不同&…