js面试题

news/2024/11/29 19:34:13/

在这里插入图片描述
在全局作用域下声明了一个变量 arr, 它的初始值是一个空数组

第二段代码,循环计数器变量i的初始值为0,循环条件是i的值小于2, 也就是说当i的值为0或者1时, 循环条件才能成立 才能够进入到循环体
当i的值为2时循环条件不成立,终止循环,开始执行循环体后面的代码

在循环体当中实际是向arr数组中添加值,值就是一个函数,此时这个函数并没有执行
由于循环执行了两次,所以在循环结束后,arr数组中会有两个值,这两个值都是函数
当函数被调用时要输出变量i 的值

分析循环体后面的代码arr0 arr1 这两句代码实际上就是在调用数组中的函数 首先通过数组下标的形式取到数组中的值
由于值就是函数,所以在值的后面可以直接加小括号调用函数,让函数执行

问题 :函数执行完成以后输出的变量i 值是多少?
首先我们看函数内部,在函数内部并没有定义变量i 的代码
所以函数执行时,在自己的作用域下,是找不到变量i值的,根据作用域链查找原则,要向上一则作用域中查找

实际刷新页面两次输出的结果都是二
都是不满足循环条件的那个i值

此题的核心点在于:变量i是全局的,两个函数在执行的时候输出的都是全局变量i的值

全局作用域i 的值是执行循环的时候产生的
循环执行完成后这个变量i的值就是不满足循环条件的i的值,当i的值等于二时,那么循环条件不满足跳出循环,所以最终i的值是二


http://www.ppmy.cn/news/47762.html

相关文章

ctfshow愚人杯web复现

easy_signin 题目url base64解码是face.png&#xff0c;尝试flag.txt和flag.php&#xff0c;base64加密后传入都不对&#xff0c;用index.php加密后传入&#xff0c;看源码 将后面的base64解密得到flag 被遗忘的反序列化 源码 <?php# 当前目录中有一个txt文件哦 error_r…

Linux FTP服务

FTP服务 作用 传输文件 端口 FTP服务器默认使用TCP协议的20、21端口与客户端进行通信 20端口用于建立数据连接&#xff0c;并传输文件数据 21端口用于建立控制连接&#xff0c;并传输FTP控制命令 模式 FTP数据连接分为主动模式和被动模式 主动模式&#xff1a;客户端告诉服务端…

记一次fastjson反序列化到内网靶标

声明&#xff1a;文中涉及到的技术和工具&#xff0c;仅供学习使用&#xff0c;禁止从事任何非法活动&#xff0c;如因此造成的直接或间接损失&#xff0c;均由使用者自行承担责任。 点点关注不迷路&#xff0c;每周不定时持续分享各种干货。 众亦信安&#xff0c;中意你啊&a…

微信跨平台方案Donut快速上手

一、Donut简介 Donut 是微信开发出的多端框架&#xff0c;用于支持使用小程序原生语法开发移动应用的框架&#xff0c;开发者可以一次编码&#xff0c;就可以编译出小程序和 Android 以及 iOS 应用&#xff0c;实现多端开发。能够帮助企业有效降低多端应用开发的技术门槛和研发…

网络原理——IP地址与mac地址

目录 IP地址 IP地址 IP地址的组成 子网掩码 mac地址 冲突域与广播域 数据传输流程 IP地址 IP地址 互联网协议地址。每一个联网的主机都会分配一个IP地址。为32位二进制数&#xff0c;用4个.均分为四部分&#xff0c;在命令提示符中输入&#xff1a;ipconfig命令&#…

webpack 5 实战(1)

一、为什么使用webpack 个人将前端开发分为三个阶段&#xff1a; 1.1 Web1.0 Web1.0前端主要工作&#xff1a; 前端主要编写静态页面对于JavaScript的使用&#xff0c;主要是进行表单验证和动画效果制作 1.2 Web2.0之AJAX 伴随着AJAX的诞生&#xff0c;前端的工作模式也发…

北斗导航 | 周跳处理(cycle-slips)方法(matlab工具)

===================================================== github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 ===================================================== 本文介绍了一种基于MATLAB的GPS周跳(cycle-slip)处理软件软件包。在测…

TensorFlow 2.0 的新增功能:第三、四部分

原文&#xff1a;What’s New in TensorFlow 2.0 协议&#xff1a;CC BY-NC-SA 4.0 译者&#xff1a;飞龙 本文来自【ApacheCN 深度学习 译文集】&#xff0c;采用译后编辑&#xff08;MTPE&#xff09;流程来尽可能提升效率。 不要担心自己的形象&#xff0c;只关心如何实现目…