js的预解析详解
2024-10-18 20:21:33
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body> </body>
</html>
<script>
test();//此处调用不会报错,js解析器会将方程的定义提到最定义域最前端 //js预解析是指,js解析器会将方程的定义和变量的定义提到作用域的最前面,赋值留在最后面 function test(){
alert(a);//不会报错 undefined var a=5; }
/**
上面方程相当于
function test(){
var a;
alert(a);//不会报错 undefined
a=5; } */ test(); </script>
变量的预解析,js解析器会对所有的var 和function开头的变量,提升到作用域的最顶端,赋值和调用语句还停留到原地
最新文章
- ZeroMQ接口函数之 :zmq_setsockopt –设置ZMQ socket的属性
- Google 面试
- BZOJ2002 [Hnoi2010]Bounce 弹飞绵羊
- eclipse和myeclipse一键取消所有断点
- redis 详解
- 【LeetCode】21. Merge Two Sorted Lists
- 【UVa-679】小球下落——二叉树的编号
- (剑指Offer)面试题16:反转链表
- React Native中常见操作
- 剑指Offer:互为变位词
- [RxJS] just, return
- VCS仿真生成fsdb文件(Verilog)
- (asp.net MVC学习)System.Web.Mvc.HtmlHelper学习及使用
- 构建具有深度和灵活性的安卓Wear应用
- JPA实现分页
- phantomjs处理alert、confirm弹窗
- 本地yum服务搭建
- 【转】RAM 大全-DRAM, SRAM, SDRAM的关系与区别
- 解决jest处理es模块
- IE10打印预览无反应