进来做几道 JavaScript 基础题找找自信?


大家好,我是若川。持续组织了8个月源码共读活动,感兴趣的可以 点此加我微信ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。另外:目前建有江西|湖南|湖北籍前端群,可加我微信进群。


天天推送各种框架和库的,看起来也挺累的。。。今天放松一下,做几道 JavaScript 基础题找找自信吧!

可以先投票做题,然后翻到后面看答案。

第1题 — 原型

function Animal(){ this.type = "animal"
}function Dog(){ this.name = "dog"
}Dog.prototype = new Animal()var PavlovPet = new Dog(); console.log(PavlovPet.__proto__ === Dog.prototype)
console.log(Dog.prototype.__proto__ === Animal.prototype)

console.log 打印出的值是?

第2题 — 小心“排序”

var arr = [5, 22, 14, 9];console.log(arr.sort());

console.log 打印出的值是?

第3题 — 异步循环

for (let i = 0; i < 3; i++) {const log = () => {console.log(i)}setTimeout(log, 100)
}

console.log 打印出的值是?

第4题 — numbers里面有啥?

const length = 4
const numbers = []
for (var i = 0; i < length; i++);{numbers.push(i + 1)
}console.log(numbers)

console.log 打印出的值是?

第5题 — 长度为0

const clothes = ['shirt', 'socks', 'jacket', 'pants', 'hat']
clothes.length = 0console.log(clothes[3])

console.log 打印出的值是?

第6题 — 变量定义

var a = 1
function output () {console.log(a)var a = 2console.log(a)
}
console.log(a)
output()
console.log(a)

console.log 打印出的值是?

第7题 — 找到值了吗

function foo() {let a = b = 0a++return a
}foo()
console.log(typeof a)
console.log(typeof b)

console.log 打印出的值是?

第8题 — 类型转换

console.log(+true)
console.log(!"ConardLi")

console.log 打印出的值是?

第9题 — ESM

// module.js 
export default () => "Hello world"
export const name = "c"// index.js 
import * as data from "./module"console.log(data)

console.log 打印出的值是?

第10题 — 对象做 key

const a = {};
const b = { key: "b" };
const c = { key: "c" };a[b] = 123;
a[c] = 456;console.log(a[b]);

console.log 打印出的值是?

答案 - 第1题

把原型的基础知识记清楚这道题就错不了:

所有的对象都有 [[prototype]] 属性(通过 _proto_ 访问),该属性对应对象的原型;所有的函数对象都有 prototype 属性,该属性的值会被赋值给该函数创建的对象的 _proto_ 属性。

答案是:

true
true

答案 - 第2题

抱歉,答案不是 [5, 9, 14, 22] 。如果不传入排序函数,sort 函数会将每个元素转换成字符串,然后根据它们的 UTF-16 值排序。

答案是:

[14, 22, 5, 9]

答案 - 第3题

这题我会,因为:

定时器是异步执行,浏览器会优先执行同步任务,在遇到定时器时会先把它们暂存在一个宏任务队列中,待当前宏任务队列的所有任务执行完毕后才会去执行队列中的任务,此时循环已执行完毕,i 已经是 3。

所以答案是:

0
1
2

哎不对?答案为啥不是 3、3、3

因为循环里的 i 是用 let 声明的,而不是用 var 声明的!

let 声明的变量拥有块级作用域。即在 for 循环或 if 中用 let 定义变量,在外面是访问不到的。

形如 for (let i...) 的循环在每次迭代时都为 i 创建一个新变量,并以之前迭代中同名变量的值将其初始化,所以上面的代码实际上相当于:

for (let i = 0) {const log = () => {console.log(i)}setTimeout(log, 100)
}
for (let i = 1) {const log = () => {console.log(i)}setTimeout(log, 100)
}
for (let i = 2) {const log = () => {console.log(i)}setTimeout(log, 100)
}

答案 - 第4题

要看仔细啊,看到小括号和大括号之间有个吗?

答案是:

[5]

答案 - 第5题

将数组的长度赋值为 0 就相当于从数组中删除所有元素。

答案是:

undefined

答案 - 第6题

  • 第一个输出:全局的 var a

  • 第二个输出:output 函数中声明的 var a变量提升,还未赋值

  • 第三个输出:output 函数局部作用域的 a 已赋值

  • 第四输出:全局的 var a 没有变

答案是:

1
undefined
2
1

答案 - 第7题

let a 是一个局部变量。typeof a 检查的是未声明的变量。

b 是个全局变量,它在 foo 函数中被赋值。

答案是:

undefined
number

答案 - 第8题

+ 运算符首先会尝试将 boolean 类型转换为数字类型,true 被转换为 1false 被转换为 0

字符串 'ConardLi' 是一个真值,所以 !'ConardLi' 为 false。

答案是:

1
false

答案 - 第9题

考察下你对 ES Module 的认识

答案是:

{ default: function default(), name: "c" }

答案 - 第10题

对象能做对象的 key 吗?当然不能,两次赋值实际上是:

a["Object object"] = 123;
a["Object object"] = 456;

答案是:

456

怎么样,找到自信了吗?💯💯💯 全对的来这里集合!!!

09fdc6a296e5544b72ea1cd2d8d2ccbd.gif

················· 若川简介 ·················

你好,我是若川,毕业于江西高校。现在是一名前端开发“工程师”。写有《学习源码整体架构系列》20余篇,在知乎、掘金收获超百万阅读。
从2014年起,每年都会写一篇年度总结,已经坚持写了8年,点击查看年度总结。
同时,最近组织了源码共读活动,帮助4000+前端人学会看源码。公众号愿景:帮助5年内前端人走向前列。

754ef0ac274811b0eb5519a1bc0323b0.png

扫码加我微信 ruochuan02、拉你进源码共读

今日话题

目前建有江西|湖南|湖北 籍 前端群,想进群的可以加我微信 ruochuan12 进群。分享、收藏、点赞、在看我的文章就是对我最大的支持~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/274691.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人物肖像速写_骄傲家庭:肖像项目

人物肖像速写2020 has been a solemn, transformative year. Pride month takes place in the context of a groundswell up-rising against racism and police brutality and in the continued isolation of COVID-19.2020年是庄严&#xff0c;变革的一年。 骄傲月的发生是在反…

答读者问:钱和成长,哪个更重要?

大家好&#xff0c;我是若川。持续组织了8个月源码共读活动&#xff0c;感兴趣的可以 点此加我微信ruochuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。另外…

ui设计颜色的使用_UI设计中颜色使用的10条原则

ui设计颜色的使用重点 (Top highlight)1.颜色术语 (1. Color Terminology) Color terminology forms our foundation of color knowledge. Think of color terms like hue, tint, and shade as tools that we can employ to develop unique color palettes.颜色术语构成了我们颜…

Chrome插件:网易云音乐听歌识曲

大家好&#xff0c;我是若川。持续组织了8个月源码共读活动&#xff0c;感兴趣的可以 点此加我微信ruochuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。另外…

如何设置ad18捕捉图标_图标设计中的像素捕捉

如何设置ad18捕捉图标More in the iconography series:• Foundations of Iconography• 7 Principles of Icon Design• 5 Ways to Create a Settings Icon• Icon Grids & Keylines Demystified• 3 Classic Icon FamiliesWe all want our designs to display sharp on a…

React Hooks 原理与最佳实践

大家好&#xff0c;我是若川。持续组织了8个月源码共读活动&#xff0c;感兴趣的可以 点此加我微信ruochuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。另外…

插图 引用 同一行两个插图_为什么插图是产品的重要组成部分

插图 引用 同一行两个插图“Hi, my name is Ludmila and I’m a UX/UI designer”“嗨&#xff0c;我叫Ludmila&#xff0c;我是UX / UI设计师” “Hi, Ludmila”“嗨&#xff0c;路德米拉” “Welcome”“欢迎” Not anonymously at all, I’ve been doing UX/UI design fo…

如果是你你会如何重新设计和定义维基百科(wikipedia)?

日期&#xff1a;2012-8-11 来源&#xff1a;GBin1.com 最近一家设计公司发布了一个关于如何重新定义和设计维基百科的网站&#xff0c;在这里网站里详细的刨析了如何重新设计维基百科的话&#xff0c;如何做品牌设计和网站设计&#xff0c;整个设计过程都使用非常详细的文档说…

祖父元素_帮助祖父母建立Skype帐户的UX经验教训

祖父元素“Empathy is a key part of a UX designers arsenal”, they say. It’s drilled into our heads that we need to be thinking about our user, about their journey, about what works best for them. And it does feel empowering to boast of empathy, inside vis…

2022年CSS的发展如何?

大家好&#xff0c;我是若川。持续组织了8个月源码共读活动&#xff0c;感兴趣的可以 点此加我微信ruochuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。另外…

分布式实物实现方式_这是您完成实物产品设计任务的方式

分布式实物实现方式You’ve come to the last stages of an interview. There’s only one thing left to do: the dreaded take home design assignment.您已经到达面试的最后阶段。 只剩下一件事要做&#xff1a; 可怕的带回家的设计任务。 This is the hard part of any in…

type 和 interface 傻傻分不清楚?

大家好&#xff0c;我是若川。持续组织了8个月源码共读活动&#xff0c;感兴趣的可以 点此加我微信ruochuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。另外…

上帝公式_感谢上帝的空白

上帝公式Do you ever walk into a room cluttered with discarded papers and leftover takeout and feel comfortable?您是否曾经走进过乱七八糟的房间&#xff1f; Yes, you might if you’re a sophomore at college. That’s just dorm life. Back in the late 90’s to …

figma下载_在Figma上进行原型制作的各种触发选项

figma下载Prototypes are model versions of digital products. They’re used to measure usability by testing with potential users of a product. When making prototypes with Figma, it is necessary that the actions that trigger reactions aren’t strangers and th…

通过动画让你深入理解 ES modules

大家好&#xff0c;我是若川。持续组织了8个月源码共读活动&#xff0c;感兴趣的可以 点此加我微信ruochuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。另外…

海量数据处理之倒排索引

前言&#xff1a;本文是对博文http://blog.csdn.net/v_july_v/article/details/7085669的总结和引用 一&#xff0c;什么是倒排索引 问题描述&#xff1a;文档检索系统&#xff0c;查询那些文件包含了某单词&#xff0c;比如常见的学术论文的关键字搜索。 基本原理及要点&#…

ux和ui_如何为您的UX / UI设计选择正确的原型制作工具

ux和uiAll UX/UI designers might encounter the situation of creating prototypes for wireframes or visual designs. In some cases, you may also receive the need to craft motion designs, for instance, animating icons or illustrations.所有UX / UI设计人员都可能遇…

Vue 性能指标逐渐开始反超 React 了!

大家好&#xff0c;我是若川。持续组织了8个月源码共读活动&#xff0c;感兴趣的可以 点此加我微信ruochuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。另外…

figma下载_我如何使用Figma,CSS Grid和CSS Flexbox构建登录页面

figma下载I enjoy looking at website designs that are on platforms like Behance, Dribble, etc. as they are visually very pleasing to the eye. While scrolling through these designs, I always wonder about one thing, that is, how difficult would it be to expre…

2022年Web平台的新动态

大家好&#xff0c;我是若川。持续组织了8个月源码共读活动&#xff0c;感兴趣的可以 点此加我微信ruochuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。另外…