前端面试题JavaScript篇——2022-09-14
2022/9/15 1:18:39
本文主要是介绍前端面试题JavaScript篇——2022-09-14,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
每日3题
1 以下代码执行后,控制台中的输出内容为?
var company = { address: "chengdu", }; var obj = Object.create(company); delete obj.address; console.log(obj.address);
2 以下代码执行后,控制台中的输出内容为?
var a = [0]; if (a) { console.log(a == true); } else { console.log(a); }
3 以下代码执行后,控制台中的输出内容为?
(function () { var a = (b = 5); })(); console.log(b); console.log(a);
- 公众号【今天也要写bug】更多前端面试题
答案及解析
1
// 答案:chengdu // 考察原型链和 Object.create 方法 // Object.create() 方法用于创建一个新对象,使用现有的对象来作为新创建对象的原型 var company = { address: "chengdu", }; var obj = Object.create(company); // obj.__proto__=company delete obj.address; // 删除 obj 的属性 address console.log(obj.address); // 通过原型链可以找到 company.address // 故输出 chengdu
2
// 答案:false // 考察 truthy 和 falsy // falsy 值(虚值)是在 Boolean 上下文中认定为 false 的值,包括:false、0、-0、0n、""、null、undefined 和 NaN // 在 JavaScript 中,truthy(真值)指的是在布尔值上下文中,转换后的值为 true 的值。被定义为假值以外的任何值都为真值。 // JavaScript 在需要用到布尔类型值的上下文中使用强制类型转换 (Type Conversion ) 将值转换为布尔值,例如条件语句和循环语句。 var a = [0]; // truthy if (a) { console.log(a == true); // false } else { console.log(a); }
3
// 答案:5 报错 // 考察变量声明 // 在非严格模式下,如果作用域链中没有声明同名的变量,则对未限定标识符的赋值将会在全局对象下创建同名属性,即作为全局变量被创建 (function () { var a = (b = 5); // 此处变量 b 会成为全局变量 })(); console.log(b); // 输出 5 console.log(a); // 作用域中没有变量 a 直接报错
这篇关于前端面试题JavaScript篇——2022-09-14的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-22[开源]10.3K+ Star!轻量强大的开源运维平台,超赞!
- 2024-11-21Flutter基础教程:新手入门指南
- 2024-11-21Flutter跨平台教程:新手入门详解
- 2024-11-21Flutter跨平台教程:新手入门与实践指南
- 2024-11-21Flutter列表组件教程:初学者指南
- 2024-11-21Flutter列表组件教程:新手入门指南
- 2024-11-21Flutter入门教程:初学者必看指南
- 2024-11-21Flutter入门教程:从零开始的Flutter开发指南
- 2024-11-21Flutter升级教程:新手必读的升级指南
- 2024-11-21Flutter升级教程:轻松掌握Flutter版本更新