文章目录

  • 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输出类面试题(一)相关推荐

  1. js输出类面试题(四)

    文章目录 1. 单击下面的html片段打印的内容是什么? 2. 下面代码的输出是什么? 3. 下面代码的输出是什么? 4. 下面这些值哪些是假值? 5. 下面代码的输出是什么? 6. 下面代码的输出是 ...

  2. 由浅入深 65个JS常考面试题

    由浅入深逐个击破 JS常考面试题(上篇) 1. 介绍一下JS的基本数据类型,值是如何存储的? JavaScript一共有8种数据类型,其中有7种基本数据类型:Undefined.Null.Boolea ...

  3. JS 中级前端面试题

    1.闭包:内部函数引用外部函数的变量(高频) 作用:延长它的生命周期 缺点: 容易导致内存泄漏 更多的内存消耗 会造成内存泄露,因为闭包中引用到的函数中定义的变量都永远不会被释放  解决:闭包在不使用 ...

  4. 2013豆瓣校园招聘研发类笔试题

    2013豆瓣校园招聘研发类笔试题 转载请标明出处,原文地址:http://blog.csdn.net/hackbuteer1/article/details/11263443 1.将一个递归算法改为对 ...

  5. python3纵向输出字符串_python3字符串输出常见面试题总结

    考察对于知识的理解,除了实际的代码运用,还有一种方法就是问答类的题型.不同于普通的概念叙述,小编认为即使是面试题也会带有一些数学题目的影响,不知道大家有没有想过,如果面试题是字符串方面的我们该如何作答 ...

  6. 2018年计算机类基础课试题答案,河南省 2018年计算机类基础课试题

    <河南省 2018年计算机类基础课试题>由会员分享,可在线阅读,更多相关<河南省 2018年计算机类基础课试题(8页珍藏版)>请在人人文库网上搜索. 1.河南省 2018 年普 ...

  7. 渗透测试-xss安全防御之href输出和js输出

    xss安全防御之href输出和js输出 文章目录 xss安全防御之href输出和js输出 1. xss之href输出 2. xss之js输出 总结 1. xss之href输出 进行xss之href输出 ...

  8. 京东2019春招Java开发类笔试题

    京东2019春招Java开发类笔试题 1. (单选题) 在对问题的解空间树进行搜索的方法中,一个结点有多次机会成为活结点的是 ( B ) A. 动态规划 B. 回溯法 C. 分支限界法 D. 回溯法和 ...

  9. js、jQuery面试题整理

    js.jQuery面试题整理 1.数据类型 基本类型:String.Number.boolean.null.undefined.Symbol.BigInt. 引用类型:object.里面包含的 fun ...

  10. Python笔试题记录——字符串类笔试题自记

    目录 字符串距离 思路整理 完整代码 字符串提取 思路自记 计算重复字符串长度 思路自记 字符串连连看 思路自记 字符串匹配 思路自记 完整代码 字符串类笔试题总结 字符串距离 给出两个相同长度的由字 ...

最新文章

  1. Go语言的错误异常处理机制及其应用
  2. java之 ------ 可变參数和卫条件
  3. 三、oracle 用户管理一
  4. TP自动生成模块目录
  5. Linux管道用法示例
  6. oracle 磁盘不分区吗,LINUX停ORACLE软件、数据文件等所在的磁盘分区空间不足的解决思路...
  7. iOS屏幕适配方案-Auto Layout
  8. 如何学习c语言 零基础20天学会C语言
  9. windows下面常用的***测试命令
  10. ORA-29538、ORA-29532、ORA-29913问题解决
  11. InfoQ编辑2018年推荐阅读清单(第二部分)
  12. 11款超5000星 后台管理模板, 总有一款适合你!
  13. 初学者怎样看懂python代码_初学者怎样看懂代码?
  14. 2021最新 武汉互联网公司
  15. wps 甘特图_项目管理/产品研发/建设施工/计划生成项目进度甘特图表教程
  16. mac php fpm 502,nginx+php-fpm出现502(Bad Gateway)错误的分析与解决 | linux系统运维
  17. 惠普电脑u盘重装系统步骤_惠普电脑怎么用u盘重装系统步骤
  18. 语文老师之二小白的边城
  19. Mockplus: 让小白产品经理上手就用的原型图设计工具
  20. 李小璐JAVA,李小璐和马蓉为什么都会婚内出轨?

热门文章

  1. 服务器前置面板修改idrac地址,服务器前置面板修改idrac地址
  2. ueditor上传文件、图片中文乱码
  3. 英语口语900句第一册
  4. rsa加解密算法报告c语言,RSA加解密算法C语言的实现.doc
  5. 文化素质计算机测试校际联考,我省高职分类考试校际联考5月20日至28日进行
  6. net.sf.json.JSONObject依赖
  7. 手机上万能返回上一页(wap2.0)代替history.go(-1)
  8. 使用go-cqhttp搭建一个简易的QQ机器人(入门)
  9. oracle windows 使用,Windows下使用oracle oerr工具安装及使用
  10. 英超联赛接口调用文档