JavaScript从题学习——预解析案例

2023-11-07

前言

从题中快速了解和复习下变量提升,函数提升,作用域链

预解析案例

答案在最后

案例1

        var num = 10;
        fun();

        function fun() {
            console.log(num);
            var num = 20;
        }
        // 相当于执行了以下操作
        // var num;

        // function fun() {
        //     var num;
        //     console.log(num);
        //     num = 20;
        // }
        // num = 10;
        // fun();

案例2 

        var num = 10;

        function fn() {
            console.log(num);
            var num = 20;
            console.log(num);
        }
        fn();
        // // 相当于以下代码
        // // var num;

        // // function fn() {
        // //     var num;
        // //     console.log(num);
        // //     num = 20;
        // //     console.log(num);
        // // }
        // // num = 10;
        // // fn();

案例3 

        var a = 18;
        f1();

        function f1() {
            var b = 9;
            console.log(a);
            console.log(b);
            var a = '123';
        }
        // 相当于以下代码
        // var a;

        // function f1() {
        //     var b;
        //     var a;
        //     b = 9;
        //     console.log(a);
        //     console.log(b);
        //     a = '123';
        // }
        // a = 18;
        // f1();

案例4 

         f1();
        console.log(c);
        console.log(b);
        console.log(a);

        function f1() {
            var a = b = c = 9;
            console.log(a);
            console.log(b);
            console.log(c);
        }
        // 以下代码
        // function f1() {
        //     var a;
        //     a = b = c = 9;
        //     // 相当于 var  a  = 9; b = 9; c = 9; b 和 c 直接赋值 没有var 声明 当 全局变量看
        //     // 集体声明  var a = 9, b = 9, c = 9;
        //     console.log(a);
        //     console.log(b);
        //     console.log(c);
        // }
        // f1();
        // console.log(c);
        // console.log(b);
        // console.log(a);

答案:1.undefined;2.undefinded 20;3.undefined 9;4.9 9 9 9 9 (加报错)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaScript从题学习——预解析案例 的相关文章

  • 自动调整Google网站嵌入代码的高度(html)

    我正在使用 Google 协作平台嵌入 HTML 代码 将代码粘贴到 从网络嵌入 窗口中 输出的长度是可变的 我希望有一种方法可以动态调整父级的高度iframeGoogle 协作平台用于托管我的 HTML 我知道我可以使用 Google 协
  • 无法在 JavaScript for 循环中读取 null 的属性“长度”

    我正在尝试制作一个像 Stack Overflow 那样的 Markdown 编辑器 如果我实际上没有在文本区域中键入星号和包含短语的 http 我会收到标题中列出的此错误 如果我只输入包含星号的短语 则错误指的是这一行 if linkif
  • 定义 js-xlsx 单元格范围

    我正在尝试使用 js xlsx 读取 Excel 值 我可以使用以下代码从工作簿工作表中获取单元格值 if typeof require undefined XLSX require xlsx var workbook XLSX readF
  • Angular 2 Material 2 日期选择器日期格式

    我不知道如何更改材料2日期选择器的日期格式 我已阅读文档 但我不明白我实际上需要做什么 datepicker默认提供的输出日期格式为f e 6 9 2017 我想要实现的目标是将格式更改为类似的格式9 Jun 2017或任何其他 文档htt
  • 创建一个简单的 10 秒倒计时

    我想要一行这样写的 Your download will begin in 10 9 8 etc Beginning on page load seconds 我已经设置了 10 秒下载文本 并且我还查看了其他 stackoverflow
  • 限制可选 DOM 复选框

    我试图限制用户可以选择的复选框数量 这些复选框是为数组中的每个项目生成的 DOM 输入对象 我目前对此没有运气 因此非常感谢任何帮助 谢谢 在这里小提琴 http jsfiddle net vVxM2 222 http jsfiddle n
  • 如何动态突出显示网页上的字符串?

    我想创建带有 url 的页面 例如 http xyzcorp schedules 2015Aug24 Aug28 Jim Hawkins http xyzcorp schedules 2015Aug24 Aug28 Billy Bones
  • 将文本大小调整为矩形 在 Canvas HTML5 中调整大小

    我是 Canvas 新手 我正在创建一个网站 以在调整矩形大小时增加文本 我尝试了很多 但没有任何效果 实际上 我希望如果我仅按其宽度调整矩形大小 向左拉伸 向右拉伸 则仅应增加文本宽度而不是字体大小 我已经完成了字体大小 但发现增加孤立文
  • 通过JS Laravel访问存储目录

    有没有办法访问storage目录 该目录已经链接到publicJS 中的目录 我正在尝试制作一个上传图片的表单 验证脚本 if request gt hasFile photos marker gt photos request gt ph
  • 循环遍历元素并逐步为每个元素应用 CSS 规则

    我有一个网格布局 每个网格布局中都有不同数量的元素 我想动态添加内联grid column通过循环遍历 div 中存在的每个元素的 CSS 规则 ul 与一类 list 所以 HTML 代码的输出需要是 ul class list ul u
  • 了解 JavaScript - 资源

    使用 StackOverflow 的微型 Digit Blog 功能进行描述here https stackoverflow com about 我想发布以下我刚刚看到的 我觉得很有趣的谷歌技术谈话视频 我一直在理解 javascript
  • ToggleClass 动画 jQuery?

    我的网站上有一个部分 当用户单击时我希望它展开 我正在使用 jQuerytoggleClass为了这 expandable function e e preventDefault this closest article toggleCla
  • 如何使用 vanilla JS 实现可维护的反应式 UI

    今天我遇到了一个问题 可以通过使用像 Vue 这样的反应式和状态管理框架来轻松解决 遗憾的是 无法使用它 以下 简化 情况 链接到代码笔 https codepen io theiaz pen BazErKV 我们有一个服务器渲染的页面 其
  • Node.js 未处理的“错误”事件

    我编写了一个简单的代码并将其保存在文件 try js 中 var http require http var makeRequest function message var options host localhost port 8080
  • 从 DirectionsRenderer 中获取折线或标记的事件

    我正在使用 DirectionsService 和路线方法来生成 DirectionsResult 我还使用 DirectionsRenderer 对象来显示结果 因为它非常易于使用 我在检测 Directions changed 事件时没
  • Knockout.js 安全绑定

    我想使用带有淘汰赛的安全绑定 为此我使用敲除安全绑定 js https github com brianmhunt knockout secure binding 谁能解释一下为什么下面的代码不起作用 它会抛出一个错误 未捕获 淘汰 安全
  • JavaScript 数组扩展语法的时间复杂度是多少?

    我想知道在 JavaScript 中使用数组扩展的时间复杂度是多少 是线性 O n 还是常数 O 1 下面的语法示例 let lar Math max nums 传播称为 Symbol iterator 有关对象的属性 对于数组 这将迭代数
  • JavaScript:测试与执行

    我想知道检查字符串 例如邮件 密码等 的最佳方法是什么 i exec a vs i test a exec返回值 test true test 1 way var mail req body mail if check mail exec
  • MongoDB中如何通过引用字段进行查询?

    我有两个 Mongo 模式 User id ObjectId name String country ObjectId Reference to schema Country Country id ObjectId name String
  • 无法使用 HTML 设置未定义 jQuery UI 自动完成的属性“_renderItem”

    我使用以下代码将 jQuery UI 自动完成项呈现为 HTML 这些项目在自动完成控件中正确呈现 但我不断收到此 JavaScript 错误并且无法移动过去 Firefox 无法转换 JavaScript 参数 Chrome 无法设置未定

随机推荐

  • Qt 5.9.6 下载及安装

    1 下载并安装 Qt 5 9 6 官网下载地址 http download qt io archive qt 5 9 5 9 6 qt opensource windows x86 5 9 6 exe 下载后安装 安装路径不能有中文字符及空
  • node读取文件转换json文件

    323 text h323 3gp video 3gpp aab application x authoware bin aam application x authoware map aas application x authoware
  • 记一次在OrangePiZero2(香橙派zero 2)上部署Redroid(云手机)的过程

    一句废话 这次换一种写作风格 尝试一下轻松的行文方式 起因 很久以前看见有群友讨论关于docker部署Redroid 拿来挂机玩游戏一类的 当时听了感觉很有意思 后面粗浅地在zero2上部署了一下 容器虽然是跑起来了 但是scrcpy连接总
  • istio流量管理

    istio 官方示例 bookinfo 配置sidecar注入 istioctl kube inject debug f samples bookinfo kube bookinfo yaml gt bookinfo2 yaml 使用kub
  • 浅谈QNX进程间通信(IPC)

    锋影 e mail 174176320 qq com 在QNX Neutrino中消息传递 Message passing 是IPC的主要形式 其他的姓氏也是基于消息传递实现的 QNX中提供的IPC形式如何下图所示 一 Synchronou
  • 基础13:惰函数

    有两种实现惰性载入的方式 第一种事函数在第一次调用时 对函数本身进行二次处理 该函数会被覆盖为符合分支条件的函数 这样对原函数的调用就不用再经过执行的分支了 我们可以用下面的方式使用惰性载入重写addEvent function addEv
  • python语言是一种面向过程的语言_浅谈编程语言中的面向过程和面向对象

    最近一直在自学Python 在 Python学习手册 的开篇有一句话 Python可以定义为面向对象的脚本语言 这句话让我十分困惑 并且在之后的一周里面让我总是混淆一些概念 到底什么是 面向对象 到底什么是 对象 带着这个疑问 我继续向下学
  • C# winform 一次只能允许一个应用(使用mutex)

    在很多应用程序开发过程中 需要只允许一个程序实例 即使是通过虚拟桌面方式连接过来的 也是只允许一个人运行 下面是实现该功能的代码 注意mutexName 为系统名称 Global为全局 表示即使通过通过虚拟桌面连接过来 也只是允许运行一次
  • verilog学习笔记(1)module实例化

    兜兜转转又回来学硬件了 哎 命啊 我的答案 有bug module top module input a input b output out wire w1 wire w2 wire w3 mod a mod a inst1 in1 w1
  • IDEA引入JDK/jar包无效、java 文件灰色右下角橙色java图标显示等问题解决办法

    一 引入jdk jar包无效 IDEA有时候会出现引入jdk无效的情况 import灰色 代码爆红 这是因为idea检测发现包并没有导入进来 1 如果是普通java项目 jdk等都配置好还是这样的话 可以通过 清除缓存并重启的方式解决 如下
  • k8s的1.20.15的kubeadm安装教程

    k8s的1 20 15的kubeadm安装教程 1 基础环境配置 1 1 配置信息 系统版本 centOS7 9 docker版本 19 03 x kubernetes 1 20 x Pod网段 172 168 0 0 16 service
  • Fiddler下载安装 Mac版

    目录 下载 安装 下载 1 进入FiddlerDownload Fiddler Web Debugging Tool for Free by Telerik下载网站 点击 Try Fiddler Everywhere 2 我这里选择的是ma
  • 【Spring Boot 初识丨一】入门实战

    学习前提 学习Spring Boot的前提是具备Java编程基础 包括面向对象编程 Java集合框架 异常处理 多线程等基本概念和技能 此外 还需要了解Web开发的基本知识 例如HTTP协议 Servlet JSP HTML CSS Jav
  • 《eNSP - OSPF 查看命令》

    display ospf peer 查看 OSPF 邻居的相关信息 display ip routing table protocol ospf 查看 OSPF 协议路由表 display ospf interface 查看运行 OSPF
  • LeetCode-二进制中1的个数

    计算机中的补数是 两个数加起来等于在二进制里一个非常整的数 比如 加起来等于 10000000000000000000000000000000000这样的 1 01 的补数 111111111111111111111111111111111
  • springboot封装响应实体

    前言 首先什么是响应实体 正常我们的后端都是接收前端 然后把请求需要的数据返回给前端 而这个返回的数据就是我们的响应实体 那么 为什么我们需要进行封装响应实体呢 第一点 最明显的就是 为了人机友好交互 如果单单只是把返回的数据给到前端 有数
  • Leetcode53/152—最大子数组和/最大子数组乘积(状态转移方程/不熟)

    53 最大子数组和 给你一个整数数组 nums 请你找出一个具有最大和的连续子数组 子数组最少包含一个元素 返回其最大和 子数组 是数组中的一个连续部分 思路 aaaaa 我老不会这个题 动态规划的是首先对数组进行遍历 当前最大连续子序列和
  • 什么是Spring三级缓存 对象在三级缓存中的创建流程 【三级缓存 循环依赖】

    一 什么是Spring三级缓存 第一级缓存 也叫单例池 存放已经经历了完整生命周期的Bean对象 第二级缓存 存放早期暴露出来的Bean对象 实例化以后 就把对象放到这个Map中 Bean可能只经过实例化 属性还未填充 第三级缓存 存放早期
  • Confluence不仅仅是一个wiki,它还可以是一个应用系统平台。

    利用Confluence插件系统 可以很容易地定制和扩展Confluence来满足您的需要 下面是Confluence开发者社区所开发的一些被广泛使用的插件 我们提供了一个包含了更多插件的库 您甚至可以去开发自己的插件 Office Con
  • JavaScript从题学习——预解析案例

    前言 从题中快速了解和复习下变量提升 函数提升 作用域链 预解析案例 答案在最后 案例1 var num 10 fun function fun console log num var num 20 相当于执行了以下操作 var num f