位置: 编程技术 - 正文

关于JS 预解释的相关理解(js解释器有哪些)

编辑:rootadmin

推荐整理分享关于JS 预解释的相关理解(js解释器有哪些),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js中什么是预解析,js中什么是预解析,关于javascript的说法,js解释性语言的理解,js解释器有哪些,js解释性语言的理解,js预解析面试题,js预解析解释,内容如对您有帮助,希望把文章链接给更多的朋友!

1、JS中的内存空间分为两种:栈内存、堆内存

栈内存:提供JS代码执行的环境;存储基本数据类型的值; ->全局作用域或者私有的作用域其实都是栈内存

堆内存:存储引用数据类型的值(对象是把属性名和属性值存储进去,函数是把函数体中的代码当做字符串存储进去)

2、当浏览器加载我们HTML页面的时候,首先会提供一个供JS代码执行的环境->全局作用域(global->window)

3、在JS代码执行之前,浏览器还需要自己做一些事情:把所有带var/function关键字的进行提前的声明或者定义 ->"预解释"(变量提声)

声明(declare) -> 告诉浏览器我有这样一个东西啦,例如 var num1; function fn;

定义(defined) -> 给我们声明的变量或者函数赋值,例如 num1=; fn=function(){}

[重要]变量只声明没有定义,默认的值是undefined(未定义)

4、var和function在预解释阶段处理是不一样的

var -> 在预解释的时候只是提前的声明了这个变量,只有当代码执行的时候才会完成赋值操作

function -> 在预解释的时候会提前的把声明加定义都完成了(在代码执行的时候遇到定义的代码直接的跳过)

[重要]刚开始只对window下的进行预解释,fn函数中目前存储的都是字符串,所以var total没啥实际的意义,所以不进行预解释 -> "预解释是发生在当前作用域下的"

5、在全局作用域下声明的变量是全局变量

在私有作用域中声明的变量是私有变量;函数的形参也是私有的变量;

关于JS 预解释的相关理解(js解释器有哪些)

如何分辨函数中出现的变量是私有的还是全局的&#;

首先看是否为形参,然后看是否在私有作用域中声明过(有没有var过),两者有其一就是私有的变量,那么在当前函数中不管什么位置出现都是私有的,和全局的没有半毛钱的关系;如果两者都没有,说明不是私有的,则往其上一级作用域进行查找...

6、函数执行的时候会形成一个新的私有的作用域(栈内存),供函数体中的代码执行;

1)给形参赋值2)私有作用域下的预解释3)私有作用域下的代码执行

形成的新的私有的作用域还保护了里面的私有变量不受外界的影响,我们把函数的这种保护机制->"闭包

区别:带var的可以在代码执行前进行声明,而不带var的不能提前的声明

1、不管条件是否成立都要进行预解释

2、预解释只发生在"="的左边,只把左边的进行预解释,右边的是值是不进行预解释的

匿名函数之函数表达式:把函数定义的部分当做值赋值给一个变量或者元素的事件

预解释的时候:var fn; ->fn的默认值是undefined

3、函数体中return下面的代码都不在执行了,但是下面的代码需要参加预解释;而return后面的东西是需要处理的,但是由于它是当做一个值返回的,所以不进行预解释;

4、匿名函数的function在全局作用域下是不进行预解释的

匿名函数之自执行函数:定义和执行一起完成了

(function(num){})();

5、在预解释的时候,如果遇到名字重复了,只声明一次,不重复的声明,但是赋值还是要重复的进行的

在JS中变量的名字和函数的名字如果一样是算作重复的

预解释:

标签: js解释器有哪些

本文链接地址:https://www.jiuchutong.com/biancheng/370147.html 转载请保留说明!

上一篇:js选择器全面解析(jsclass选择器)

下一篇:js改变css样式的三种方法推荐(js修改css样式属性不生效)

  • 办理出口退税时间要求
  • 增值税专用发票有效期是多长时间
  • 环境保护税是什么科目
  • 库存商品和固定资产
  • 建筑施工企业存货是未结转的成本对吗
  • 补计提去年的折旧该怎么做账
  • 在建工程转固后又发生成本
  • 利润分配亏损太多如何处理?
  • 金税三期里有员工无工资如何申报?
  • 劳务派遣税收政策文件
  • 营业外支出期末需要结转吗
  • 租赁设备发票备注栏怎么填写
  • 公司什么发票可以入账
  • 合伙企业个人所得税计算案例
  • 设备维保服务费会计分录
  • 采购过程中产生的物流成本案例分析
  • 劳务费发票已开款未收回如何做帐?
  • 个人财产转让所得在哪里申报
  • 商贸流通企业的构成
  • macbookpro提醒事项
  • 支付劳保用品会计怎么做
  • 开启开发人员模式的方法
  • 电脑自我诊断
  • linux中cut命令详解
  • 不良修复体的危害
  • linux怎么打开makefile
  • rtlcpl.exe
  • PHP:mcrypt_generic_init()的用法_Mcrypt函数
  • 用php做计算
  • 无效借款合同自被确认为无效之日起无效
  • 纳税人提供劳务派遣服务,选择差额纳税的,按照5%
  • 房地产企业开始退地的影响
  • 偿还债券本金和利息
  • less预处理器详解
  • php中常量名命名规范
  • 租出固定资产的处理步骤
  • 2023前端面试题目100及最佳答案
  • chk命令
  • 处置固定资产净收益属于利得吗
  • 烟草的发票可以报销吗
  • mssql备份数据库
  • Win2008中SqlServer2008 无法打开错误日志文件导致无法启动的解决方法
  • 企业现金流量表怎么分析
  • 货物运输发票的开票要求
  • 结账与对账的共同意义在于
  • 企业会计凭证怎么写
  • 跨年银行回单怎么入账
  • 计提的坏账应该计入哪个科目
  • 扶贫小额信贷分贷统还违规吗
  • 收到对公打款认证怎么入账
  • 非流动资产基金借贷方表示
  • 预提费用如何预提
  • 其他应付款时间长了怎么处理?
  • 单价合同如何计算印花税
  • 现金收款凭证的填制日期应当是
  • 建账内容
  • 查看sqlserver操作记录
  • ubuntu系统中文
  • sqlserver 查看表
  • win7系统怎么把桌面文件放到d盘
  • arch linux安装yay
  • win7系统怎么用键盘开机
  • xp系统要求
  • mac怎么删除系统软件
  • red hat linux怎么用
  • win10系统最新版用户维护在哪
  • mmc.exe是什么
  • logd是什么进程
  • win10系统自带的浏览器叫什么
  • Win10系统下怎么将韩语切换成简体中文?
  • ie8-ie11浏览器
  • python rem
  • perl命令
  • js实现简单的画图功能
  • nodejs fabric
  • js匿名类
  • android基本控件使用方法
  • 云南新农合网上怎么交
  • 江苏预包装食品备案网上流程
  • 财税专家刘杨简历
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设