ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

前端面试题JavaScript篇——2022-09-14

2022-09-14 14:05:03  阅读:255  来源: 互联网

标签:面试题 console 14 company 09 address var obj log


每日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 直接报错

标签:面试题,console,14,company,09,address,var,obj,log
来源: https://www.cnblogs.com/bidong/p/16692762.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有