我的编程空间,编程开发者的网络收藏夹
学习永远不晚

JavaScript预解析之变量预解析和函数预解析

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

JavaScript预解析之变量预解析和函数预解析

首先了解预解析之前先看两个问题

1.大家思考下  这个结果会是多少呢?

console.log(num);
var num=10;

结果是 undefined

2.这个输出结果又会是多少呢?

fun();
var fun=function(){
    console.log(22);      
}

显然这个结果报错了。

那究竟为什么会这样执行呢?

1、我们js引擎运行js分为两步: 预解析   代码执行

  • 预解析  js引擎会把js里面所有的var还有function提升到当前作用域的最前面
  • 代码执行 按照代码书写的顺序从上往下执行

2、预解析分为  变量预解析(变量提升)和 函数预解析(函数提升)

  • 变量提升  就是把所有的变量声明提升到当前作用域最前面  不提升赋值操作
  • 函数提升  就是把所有函数声明提升到当前作用域的最前面  不调用函数

那我们第一个问题就相当于执行了以下代码

var num;
console.log(num);
num=10;

第二个问题相当于执行了以下代码

var fun;
fun();
fun=funciton(){
    console.log(22);
}

这下我们就可以看到  声明了一个变量 但是没有给值,接着又调用了fun()这个函数,但是没有这个函数,肯定会报错。
所以函数表达式调用必须要写在函数表达式声明的下面才可以。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

JavaScript预解析之变量预解析和函数预解析

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

JavaScript预解析

坑1Q:未声明变量,直接输出会出现什么结果?console.log(num);1A:报错:变量未被定义。Uncaught ReferenceError: num is not defined2Q:在输出变量后才声明并赋值变量会出现什么结果?
2023-06-02

JavaScript中的预解析你了解吗

预解析也叫预声明,是提前解析声明的意思,预解析是针对变量和函数来说的,本文将通过一些简单的示例带大家了解一下JS中预解析的具体使用,需要的可以参考一下
2023-05-20

如何理解JavaScript预解析及对象

本篇文章为大家展示了如何理解JavaScript预解析及对象,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、预解析1、变量预解析和函数预解析JavaScript 代码是由浏览器中的 JavaScr
2023-06-25

android JSON解析数据 android解析天气预报

概要 笔者近期做到对天气预报JSON数据解析,在此小记。 天气预报接口:http://wthrcdn.etouch.cn/weather_minicitykey=101200101 JSON数据如下:{"desc": "OK","statu
2022-06-06

JavaScript预解析及相关技巧有哪些

这篇文章主要介绍了JavaScript预解析及相关技巧有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaScript预解析及相关技巧有哪些文章都会有所收获,下面我们一起来看看吧。变量同样,以这两个小例
2023-07-04

JavaScript中变量提升与预编译的示例分析

这篇文章主要为大家展示了JavaScript中变量提升与预编译的示例分析,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“JavaScript中变量提升与预编译的示例分析”这篇文章吧。Java的特点有
2023-06-06

怎么解析CPU SSB/RSRE漏洞预警

本篇文章给大家分享的是有关怎么解析CPU SSB/RSRE漏洞预警,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。0x00 漏洞概述2018年5月21日,微软官方公布新CPU漏洞
2023-06-19

JavaScript函数详解:匿名函数、具名函数、函数传参、不定参、返回值、JS预解析机制

本文详细介绍了JavaScript函数,包括匿名函数、具名函数、函数传参、不定参、返回值和JS预解析机制。匿名函数是缺乏名称的一次性函数,而具名函数拥有明确的名称便于识别。函数可以通过参数接收数据,不定参则允许任意数量的参数。函数通过return返回值,如果没有明确返回,则返回undefined。JS预解析机制在执行代码前会对代码进行预解析,主要目的是进行变量和函数提升。
JavaScript函数详解:匿名函数、具名函数、函数传参、不定参、返回值、JS预解析机制
2024-04-02

解析Go语言的预定义标识符

go 语言预定义标识符包括常量、变量、类型、函数和包,用于执行特定任务,简化编码,包括确定字符串长度、转换接口、生成唯一 id 以及处理文件输入和输出。解析 Go 语言的预定义标识符简介Go 语言提供了大量预定义标识符,用于执行特定任务
解析Go语言的预定义标识符
2024-04-08

Transformer之Bert预训练语言解析的方法是什么

今天小编给大家分享一下Transformer之Bert预训练语言解析的方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧
2023-07-05

编程热搜

目录