位置: 编程技术 - 正文

关于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样式属性不生效)

  • 公司注销所有者权益账面怎么处理
  • 目的税包括
  • 发票抬头开个人可以吗
  • 企业所得税季度预缴
  • 未达起征点的增值税怎么做账
  • 其他综合收益影响递延所得税负债吗
  • 固定资产一次性扣除账务处理
  • 新车检测费能入什么科目
  • 上个月没有清卡,这个月可以抄税吗
  • 按收入比例结转怎么做账
  • 小规模纳税人小微企业免税销售额
  • 受托开发软件产品免征增值税
  • 对公账户的理财收入计入什么科目
  • 购买商品赠送
  • 机器维修费的会计科目
  • 递延收益可以是负数吗
  • 全额拨款事业单位工资都一样吗
  • 注册资本需要
  • 工程安装公司是干嘛的
  • 小规模纳税人出售不动产征收率
  • 反写状态已反写是什么意思
  • 增值税发票开具错误重开该怎么做会计分录?
  • 员工赔偿款需要交个税么
  • 母公司代发工资如何处理
  • 营改增后哪些费用可以抵扣
  • 华为鸿蒙系统如何刷机
  • 苹果电脑截图快捷键
  • 小规模季度不超过30万的账务处理
  • 自查以前年度补税需调帐吗
  • 鸿蒙系统怎样开启5G
  • 建筑业产值填哪个数据
  • 投标保证金怎么退还流程
  • 虎刺梅怎么养殖视频
  • 无形资产的摊销年限不得低于多少年
  • 销售食品分录
  • findfont: Font family [‘Times New Roman‘] not found. Falling back to DejaVu Sans.
  • 固定资产清查盘盈盘亏的账务处理
  • 受托方代扣代缴的消费税计入什么科目
  • 税前扣除项目什么意思
  • 残保金所属期怎么写
  • f12过滤请求
  • 人脸口罩检测系统
  • 应交税金科目应不应该有余额
  • SQL Server中TRUNCATE事务回滚操作方法
  • 游戏公司不开票怎么缴税
  • 收到服务费的增值税发票
  • 财务做帐的金额怎么算
  • 业务招待费的列支
  • 使用银行汇票的结算方式
  • 工程物资怎么入账成本
  • 附加税印花税会计分录
  • 旅客运输服务进项税抵扣文件
  • 应该是先付款还是先开发票
  • 加油充值卡能报销吗
  • 专用发票冲红有时间有时间限制吗
  • 什么是增资扩股协议
  • sql merge函数
  • sql server数据库怎么导出
  • sql中索引怎么使用
  • ubuntu系统怎么用
  • mac safemode
  • The file /boot/grub/stage1 not read cor 解决办法
  • win7系统不能用了?
  • windows10累积更新很慢
  • linux必会的20种服务
  • linux就该这么些
  • node.js环境搭建
  • 写一个bat文件
  • html气泡效果
  • 统计重复出现的次数
  • shell中使用变量
  • js的调试
  • 基于bootstrap的网站
  • 湖北省电子税务局新版登录操作简介
  • 普票怎么入账标识
  • 厦门增值税发票查询
  • 企业可以享受哪些政策优惠
  • 广东揭阳怎么了
  • 国税局对出口退税的要求
  • 新郑市税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设