<!DOCTYPE html>

作用域-预解析

变量的查找就是就近原则,去寻找var定义的变量,当就近没有找到的时候,就去查找外层

    /*var a=1;function fn1(){alert(a);var a=2;}fn1();alert(a);*//*第一种  输出undefined 1预解析:var aalert(a)var a=2;说明:第一个alert(a),查找a的时候会先在函数内查找由于预解析的作用,此时的a是undefined因此不会查找外面的a*//*var a=1;function fn1(){alert(a);a=2;}fn1();alert(a);*//*第二种 输出1  2说明:第一个alert(a),就近找var声明的变量,没有找到。这里只是修改了a的值为2。只不过alert(a)还没执行到*//*var a=1;function fn1(a){alert(a);a=2;}fn1();alert(a);*//*第三种  输出undefined 1*//*var a=1;function fn1(a){alert(a);var a=2;}fn1();alert(a);*//*第四种  输出undefined 1*//*var a=1;function fn1(){alert(a);a=2;}fn1(a);alert(a);*//*第五种  输出1 2*//*var a=1;function fn1(){alert(a);var a=2;}fn1(a);alert(a);*//*第六种 输出undefined 1 */  /*var a=1;function fn1(a){alert(a);a=2;}fn1(a);alert(a);*//*第七种  输出1 1*//*var a=1;function fn1(a){alert(a);var a=2;}fn1(a);alert(a);*//*第八种 输出1 1 说明:第一个alert(a),当参数跟局部变量重名时优先级是等同的*/</script>
</body>
</html>

转载于:https://www.cnblogs.com/1666818961-lxj/p/7383965.html

JavaScript-作用域-预解析相关推荐

  1. [JavaScript] JavaScript作用域深度解析

    JavaScript作用域 JavaScript中的函数运行在它们被定义的作用域里,而不是它们被执行的作用域里. -- JS权威指南 在JS里,一切皆对象,函数也是. 一.有什么用 什么时候会用到它? ...

  2. 【JavaScript】预解析

    文章目录 预解析 一.解读预解析的两个步骤 1.预编译期 2.执行期(代码逐行执行) 案例一 案例二 案例三 案例四(重点掌握) 案例五 预解析

  3. 函数(arguments),作用域,预解析,对象

    函数(arguments) JavaScript中,arguments对象是比较特别的一个对象,实际上是当前函数的一个内置属性.也就是说所有函数都内置了一个arguments对象,arguments对 ...

  4. JavaScript的预解析(1)

  5. js变量提升_学习笔记:JS中的作用域和预解析

    知识总结:谢静贤.汤昊 在javascript中作用域是非常重要的,本文将会说明作用域以及我们在工作,以及面试中的一些面试题,如果有不足的地方希望大家可以评论指出来,自己一定会及时的改正错误,避免大家 ...

  6. JavaScript 预解析、对象、错误

    单线程 记住一句话:JavaScript语言是单线程的 区分线程和进程 进程是一个工厂,工厂有它的独立资源-工厂之间相互独立-线程是工厂中的工人,多个工人协作完成任务-工厂内有一个或多个工人-工人之间 ...

  7. JS函数声明和预解析的理解

    JS函数声明方法 今天看到了一个自己关注了的大神给我回了私信,觉得自己仿佛摸到了大神的裤腿,哈哈,而且人还特别好,居然会给小菜鸟回私信,特别开心呀,一个菜鸟的小激动,言归正传啦 1.最为常见的函数声明 ...

  8. javascript之作用域与预解析

    js之预解析 在谈js的预解析之前,先看一段c++程序 #include <iostream> using namespace std;void useGreet(){greet(); } ...

  9. JavaScript中的作用域、作用域链、预解析

    作用域: /* 变量--->局部变量和全局变量 * 作用域:就是变量的适用范围 * 局部作用域和全局作用域 * js中没有快级作用域---一对括号中定义的变量,这个变量可以在大括号外面使用 * ...

最新文章

  1. SqlServerException:拒绝对表对象的select,insert权限解决(新建账号导致的问题)
  2. python 多进程 调用模块内函数_Python进程池multiprocessing.Pool的用法
  3. pep 8 规范的一些记录
  4. linux设置套接字缓冲区的大小
  5. 从壹开始学习 NetCore 新篇章 ║ Blog.Core 开发社之招募计划书
  6. react 网易云音乐实战项目笔记
  7. 2020流行的液态风格PNG免扣素材,竟然被我找到了!
  8. 开源公司抱团取暖,讨论如何在云厂商“寄生”下生存
  9. C++之访问命名空间/名字空间元素的三种方式
  10. 快速接入阿里云应用配置管理工具 轻松开启企业效率新时代
  11. java dom_Java DOM 解析 XML详解
  12. 【论文笔记】EMNLP2019: 基于层次多图卷积网络的实体类型分类
  13. word表格保存后缺失框线_word表格框线突然没了
  14. 攻防世界easyphp解题wp
  15. 实验吧-天网管理系统
  16. nginx: [error] CreateFile() “D:\nginx-1.21.6/logs/nginx.pid“ failed (2: The system cannot find the
  17. 学生个人网页设计作品 学生个人网页模板简单个人主页成品 个人网页制作 HTML学生个人网站作业设计
  18. MPC5748g基于源码实现ENET-PING实验(编译+调试)
  19. 如何选择一台好的拨号服务器?
  20. linux定时删除文件,如何操作Linux 定时删除指定目下N天前的文件

热门文章

  1. python 线性规划问题_一学高数,线代就头疼?让python帮你解决(内含教程)
  2. BCrypt加密怎么存入数据库_dns污染怎么解决
  3. xgboost参数_XGBoost实战和参数详解
  4. Qt文档阅读笔记-Broadcast Sender Example与Broadcast Receiver Example解析
  5. C/C++ OpenCV图像的阈值操作
  6. python 树结构 sqlalchemy_如何从SQLalchemy mod创建json树结构
  7. 微信小程序销毁某一注册函数_微信小程序 生命周期函数详解
  8. python实现端口转发_Python TCP/IP协议下实现端口转发及重定向菜鸟教程
  9. Can 总线 收发原理
  10. 轴固定位置_轴承的装配与内外圈固定方法,一文让你搞懂