js输出类面试题(一)
文章目录
- 1、输出结果?
- 2、输出结果?
- 3、输出结果?
- 4、输出结果?
- 5、 哪个选项是不正确的?
- 6、输出结果?
- 7、输出结果?
- 8、输出结果?
- 9、输出结果?
- 10、当我们这样做时会发生什么?
1、输出结果?
function sayHi() {console.log(name);console.log(age);var name = "Lydia";let age = 21;
}sayHi();
A: Lydia 和 undefined
B: Lydia 和 ReferenceError
C: ReferenceError 和 21
D: undefined 和 ReferenceError
答案
答案: D
在函数中,我们首先使用var关键字声明了name变量。 这意味着变量在创建阶段会被提升(JavaScript会在创建变量创建阶段为其分配内存空间),默认值为undefined,直到我们实际执行到使用该变量的行。 我们还没有为name变量赋值,所以它仍然保持undefined的值。
使用let关键字(和const)声明的变量也会存在变量提升,但与var不同,初始化没有被提升。 在我们声明(初始化)它们之前,它们是不可访问的。 这被称为“暂时死区”。 当我们在声明变量之前尝试访问变量时,JavaScript会抛出一个ReferenceError。
注:
关于let的是否存在变量提升,我们何以用下面的例子来验证:
let name = 'ConardLi'
{console.log(name) // Uncaught ReferenceError: name is not definedlet name = 'code秘密花园'
}
复制代码let变量如果不存在变量提升,console.log(name)就会输出ConardLi,结果却抛出了ReferenceError,那么这很好的说明了,let也存在变量提升,但是它存在一个“暂时死区”,在变量未初始化或赋值前不允许访问。
变量的赋值可以分为三个阶段:
- 创建变量,在内存中开辟空间
- 初始化变量,将变量初始化为undefined
- 真正赋值
关于let、var和function:
- let 的「创建」过程被提升了,但是初始化没有提升。
- var 的「创建」和「初始化」都被提升了。
- function 的「创建」「初始化」和「赋值」都被提升了。
2、输出结果?
js输出类面试题(一)相关推荐
- js输出类面试题(四)
文章目录 1. 单击下面的html片段打印的内容是什么? 2. 下面代码的输出是什么? 3. 下面代码的输出是什么? 4. 下面这些值哪些是假值? 5. 下面代码的输出是什么? 6. 下面代码的输出是 ...
- 由浅入深 65个JS常考面试题
由浅入深逐个击破 JS常考面试题(上篇) 1. 介绍一下JS的基本数据类型,值是如何存储的? JavaScript一共有8种数据类型,其中有7种基本数据类型:Undefined.Null.Boolea ...
- JS 中级前端面试题
1.闭包:内部函数引用外部函数的变量(高频) 作用:延长它的生命周期 缺点: 容易导致内存泄漏 更多的内存消耗 会造成内存泄露,因为闭包中引用到的函数中定义的变量都永远不会被释放 解决:闭包在不使用 ...
- 2013豆瓣校园招聘研发类笔试题
2013豆瓣校园招聘研发类笔试题 转载请标明出处,原文地址:http://blog.csdn.net/hackbuteer1/article/details/11263443 1.将一个递归算法改为对 ...
- python3纵向输出字符串_python3字符串输出常见面试题总结
考察对于知识的理解,除了实际的代码运用,还有一种方法就是问答类的题型.不同于普通的概念叙述,小编认为即使是面试题也会带有一些数学题目的影响,不知道大家有没有想过,如果面试题是字符串方面的我们该如何作答 ...
- 2018年计算机类基础课试题答案,河南省 2018年计算机类基础课试题
<河南省 2018年计算机类基础课试题>由会员分享,可在线阅读,更多相关<河南省 2018年计算机类基础课试题(8页珍藏版)>请在人人文库网上搜索. 1.河南省 2018 年普 ...
- 渗透测试-xss安全防御之href输出和js输出
xss安全防御之href输出和js输出 文章目录 xss安全防御之href输出和js输出 1. xss之href输出 2. xss之js输出 总结 1. xss之href输出 进行xss之href输出 ...
- 京东2019春招Java开发类笔试题
京东2019春招Java开发类笔试题 1. (单选题) 在对问题的解空间树进行搜索的方法中,一个结点有多次机会成为活结点的是 ( B ) A. 动态规划 B. 回溯法 C. 分支限界法 D. 回溯法和 ...
- js、jQuery面试题整理
js.jQuery面试题整理 1.数据类型 基本类型:String.Number.boolean.null.undefined.Symbol.BigInt. 引用类型:object.里面包含的 fun ...
- Python笔试题记录——字符串类笔试题自记
目录 字符串距离 思路整理 完整代码 字符串提取 思路自记 计算重复字符串长度 思路自记 字符串连连看 思路自记 字符串匹配 思路自记 完整代码 字符串类笔试题总结 字符串距离 给出两个相同长度的由字 ...
最新文章
- Go语言的错误异常处理机制及其应用
- java之 ------ 可变參数和卫条件
- 三、oracle 用户管理一
- TP自动生成模块目录
- Linux管道用法示例
- oracle 磁盘不分区吗,LINUX停ORACLE软件、数据文件等所在的磁盘分区空间不足的解决思路...
- iOS屏幕适配方案-Auto Layout
- 如何学习c语言 零基础20天学会C语言
- windows下面常用的***测试命令
- ORA-29538、ORA-29532、ORA-29913问题解决
- InfoQ编辑2018年推荐阅读清单(第二部分)
- 11款超5000星 后台管理模板, 总有一款适合你!
- 初学者怎样看懂python代码_初学者怎样看懂代码?
- 2021最新 武汉互联网公司
- wps 甘特图_项目管理/产品研发/建设施工/计划生成项目进度甘特图表教程
- mac php fpm 502,nginx+php-fpm出现502(Bad Gateway)错误的分析与解决 | linux系统运维
- 惠普电脑u盘重装系统步骤_惠普电脑怎么用u盘重装系统步骤
- 语文老师之二小白的边城
- Mockplus: 让小白产品经理上手就用的原型图设计工具
- 李小璐JAVA,李小璐和马蓉为什么都会婚内出轨?
热门文章
- 服务器前置面板修改idrac地址,服务器前置面板修改idrac地址
- ueditor上传文件、图片中文乱码
- 英语口语900句第一册
- rsa加解密算法报告c语言,RSA加解密算法C语言的实现.doc
- 文化素质计算机测试校际联考,我省高职分类考试校际联考5月20日至28日进行
- net.sf.json.JSONObject依赖
- 手机上万能返回上一页(wap2.0)代替history.go(-1)
- 使用go-cqhttp搭建一个简易的QQ机器人(入门)
- oracle windows 使用,Windows下使用oracle oerr工具安装及使用
- 英超联赛接口调用文档