位置: 编程技术 - 正文

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

  • 当期所得税费用可以是负数吗
  • 公司章程在工商局
  • 税务局核定税种是什么意思
  • 小规模未开票收入填在哪里
  • 金税四期已经开始了吗
  • 股东转让股权公司如何做账
  • 汇算清缴常见问题
  • 预缴纳税和年度汇缴
  • 上市审计费入账
  • 员工充值饭卡的收入如何做账
  • 应付账款对方不催款怎么办
  • 新公司注册资金需要实缴吗
  • 临时营业执照有效期多久
  • 库存商品的成本核算
  • 企业的车辆购置税计入哪个科目
  • 普票名称错了税号没错
  • 四季度企业所得税怎么报
  • 董事费如何计算个人所得税
  • 小规模纳税人已经开了3%的票还可以享受1%的优惠吗
  • 生产成本明细账怎么填图片
  • 款已付发票未到怎么做结转成本
  • 已付款后收到发货通知
  • 计提固定资产会计科目
  • 房租付款和发票有关系吗
  • 建筑工程劳务费占比例
  • 代销的价格怎么定
  • 一次性计提折旧的政策
  • windows7为什么不能用了
  • 抵押房产的保险能退吗
  • info.exe
  • 应付账款周转天数长对企业的影响
  • php数组函数,选班长
  • 委托代销商品的特点及种类
  • 其他应收和其他应付可以共用吗
  • nginx静态文件服务器
  • php数据导出到excel
  • Symfony2实现在controller中获取url的方法
  • 微前端Qiankun 子应用css后加载问题
  • 劳务费开发票后还需要交个税吗
  • 如何设置长期有效的群二维码安卓手机
  • 嵌入式开关安装效果图
  • phpcms怎么用
  • 固定资产清理产生的费用入什么科目
  • wordpress怎么删除文章
  • 银行收到几分钱怎么做账
  • PostgreSQL安装、配置及简单使用方法
  • 织梦会员功能
  • 会计学中资本的定义
  • 公司如何帮员工补缴社保
  • 主营业务利润率标准
  • 应付职工薪酬在利润表哪里体现
  • mysql新手教程
  • 增值税达不到起征期
  • 现行印花税税率是多少
  • 事业单位长期股权投资成本法和权益法
  • 不需要支付的应付账款
  • 关于小规模纳税人的说法正确的是
  • 现金日记账每月都要写期初余额吗
  • 装载机如何计提折旧费用
  • 应收账款客户少付款怎么记账
  • 餐饮发票如何入账
  • 员工福利费怎么做账
  • Ubuntu下MySQL及工具安装配置详解
  • mysql查询包含
  • 远程查看微信聊天记录软件
  • 了解的反义词
  • pe系统找不到系统
  • Win10预览版拆弹
  • macbook怎样充电
  • 惠普笔记本重装系统后没有无线连接
  • win10mobile最新版本
  • win7系统开机登录不了怎么修复
  • netcfghlp怎么安装
  • python中list的用法例子
  • vue $route $router
  • jquery地址
  • jquery给div添加样式
  • 营改增之前建筑业税率是多少
  • 残保金申报表填写
  • 江苏税务机关代码查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设