【前端笔试之输入输出问题汇总】系列1

news/2024/5/3 6:54:27/文章来源:https://blog.csdn.net/qq_40695234/article/details/127055647

1、题目1:涉及到new Array()以及map方面的一些特性

const array = new Array(5).map((item) => {return item = {name: '1'}
})
console.log(array)//[empty*5]

一般我们认为会输出['name','name','name','name','name']。但是输出的却是empty。

  • 因为new Array(5)生成的数组在每一项都没有值,意思就是生成了[,,,,]这样的一个数组。
    let obj = new Array(5);
    console.log(obj)//[,,,,]
    
  • map依次为数组中的每个元素调用一次提供的callback函数,然后根据结果构造一个新的数组。map函数的回调函数只会被赋过值的项调用。new Array(1) [undefined]不一样。new Array(1)没有为数组中的项赋过值,而[undefined]为数组中的项赋了一个undefined值。

2、闭包问题

var myObject = {foo: "1",func: function () {var foo = "2";var self = this;console.log(this.foo);//1console.log(self.foo);//1return function () {console.log(this.foo);//undefinedconsole.log(self.foo);//1};}
};
(myObject.func())();//1 1 undefined 1 
  • 后两个的this指向的window,而selfthis保存下来了,所以依旧是myObject

3、原型链

Object.prototype.a = function () {console.log('Object')
}
Function.prototype.a = function () {console.log('Function')
}
function F() { }
var f = new F();
f.a();//Object

4、map+parseInt()

   let list = [1, 2, 3].map(parseInt);console.log(list)//1 NaN NaN NaN 
  • [‘1’,‘2’,‘3’].map(parseInt) 就是将字符串1,2,3作为元素;0,1,2作为下标分别调用 parseInt 函数。即分别求出 parseInt(‘1’,0), parseInt(‘2’,1), parseInt(‘3’,2)的结果。
  • parseInt函数(重点)
    • 概念:以第二个参数为基数来解析第一个参数字符串。
    • 特点:接收两个参数parseInt(string,radix)

['1','2','3'].map(parseInt)即
parseInt(‘1’,0);radix 为 0,parseInt() 会根据十进制来解析,所以结果为 1;
parseInt(‘2’,1);radix 为 1,超出区间范围,所以结果为 NaN;

parseInt(‘3’,2);radix 为 2,用2进制来解析,应以 0 和 1 开头,所以结果为 NaN。

5、三等号赋值

let obj = {num1: 117
}
let res = obj;
obj.child = obj = { num2: 935 };
var x = y = res.child.num2;
console.log(obj.child);//undefined
console.log(res.num1);//117
console.log(y);//935

第一步:
在这里插入图片描述
第二步:
对于 var a=b=1 这样的赋值,只声明第一个变量,不声明后面的,然后从右往左赋值,也就是 var a;b=1;a=b;
在这里插入图片描述
(欧科)

6、 异步任务队列

document.getElementById('btn').style = 'background:blue';
console.log(1)
Promise.resolve().then(() => {console.log(3)document.getElementById('btn').style = 'background:black';
})
document.getElementById('btn').style = 'background:red';
console.log(2)
//1,2,3

页面的按钮最终显示是黑色

7

let a = 1;
setTimeout(() => a = 0, 3000);
while (a) { }
console.log(a)//什么也不会输出

8、如何让两个NaN相等

console.log(NaN==NaN);//false
console.log(NaN.toString(), NaN.toString())//true
console.log(Object.is(NaN, NaN))//true

9

new Promise((resolve, reject) => {reject(20);
}).then(data => {console.log(2);},data => {console.log(3);}).then(data => {console.log(4);},data => {5;});
//输出3、4

因为reject之后,确实promise的状态已经变成了rejected,但是再.then之后,p的状态是fulfilled。

let p = new Promise((resolve, reject) => {reject(20);
}).then(data => {console.log(2);},data => {console.log(3);})
console.log('p1=>', p)
p.then(data => {console.log('p2=>', p)console.log(4);},data => {5;}
);

在这里插入图片描述

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

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

相关文章

CAD导入Revit缺少东西原因-Revit中如何批量导出CAD图纸

一、CAD导入Revit缺少东西原因汇总 在Revit中导入CAD进行模型搭建是建模过程中常用的方法,但是有时会遇到导入的CAD缺少东西的情况,下面介绍几种导致这种问题的原因 1.CAD导入的时候,不是设置为全部可见。 CAD导入Revit中时,“图层…

护眼灯色温多少对眼睛好?推荐色温4000K暖白光的护眼灯

色温就是指温度的颜色,通常人眼所见的光线,由7中色光的光谱所组成,而护眼灯的光源越接近自然光就越好,一般要求色温在4000K左右比较合适,灯光为暖黄光,既温馨有符合相应的亮度,可以起到很好保护…

ROS2在ROS1 的基础的改进点

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言一、为什么要推出ROS2【重构ROS1】二、ROS1存在的问题三、ROS1与ROS2架构对比四、ROS2新概念例举五、ROS安装版本(…

【SpringCloud学习笔记】Feign

Feign 的使用 什么是Feign Feign是声明性的web服务客户端。它使编写web服务客户端更加容易,它封装类Ribbon和RestTemplate Feign vs OpenFeign 1、Feign是Netflix公司写的,是SpringCloud组件中的一个轻量级RESTful的HTTP服务客户端,是Spring…

C/C++里危险的宏(Macro)

#define SQUARE(x) x*x 上述宏定义SQUARE(x)用于求“参数”x的平方,这个宏很容易被使用者误认为是函数。宏是由预处理器处理的,它有着函数的形式却没有函数调用的代价。我们不建议初学者使用宏,因为使用宏的收益远不足以抵消其带给初学者的风…

基于本地存储LVM新建虚机方案

文章目录基于本地存储LVM新建虚机方案date: 2021/12/22auth: mmwei3一、环境信息如下:二、需求方案:1、虚机(卷启动)系统盘数据盘 三者在同一计算节点。2、虚机可以挂本计算节点的数据盘也可以挂载其他计算节点的数据盘。3、虚机可以使用本节点上的HDD做…

大数据必学Java基础(七十六):创建线程的三种方式

文章目录 创建线程的三种方式 一、继承Thread类 二、实现Runnable接口 三、实现Callable接口 创建线程的三种方式 一、继承Thread类 在学习多线程之前,以前的代码是单线程的吗? 不是,以前也是有三个线程同时执行的。 现在我想自己制造…

《单元测试》Junit5入门教程——非常详细,入门即精通

本文为在霍格沃兹测试开发学社中学习到的一些技术,写出来分享给大家,希望有志同道合的小伙伴可以一起交流技术,一起进步~ 单元测试-Junit5入门教程一、添加Junit5依赖二、Junit5 常用注解2.1、Test2.2、BeforeAll2.3、AfterAll2.4、BeforeEac…

JavaWeb学习5:Maven

Maven的学习为什么要学习这个技术?在javaweb开发中,需要使用大量的jar包,这种jar包需要手动的导入 如何让一个东西自动导入和配置jar包 所以Maven诞生了maven就是一个架构管理工具 1、Maven项目架构管理工具 Maven的核心思想:约定大于配置,有约束,不要去违反。 Maven会规…

做过的题

菜就多练 主要记录的是 dp 题(因为大部分都不会),还有一些思维题,还有一些 tricks,还有一些模板类的题。 CF533B Work Group 简要题意: 给定一棵树,要求选定一些点加入点集,使得这些点的权值和最大,且对于点集中的任意一个点,其子树中恰有奇数个点(可能包括它本身)…

(附源码)计算机毕业设计SSM基于java的云顶博客系统

(附源码)计算机毕业设计SSM基于java的云顶博客系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技…

easyrecovery数据恢复软件15版本功能介绍

easyrecovery恢复文件介绍 easyrecovery是一款功能非常强大的数据恢复软件,不仅能够恢复手机等终端被删除的文件,还可以恢复从硬盘上删除的文件,而且操作非常简单,下面就跟着小编一起来看一下吧。 easyrecovery可以恢复任何被从…

为了不手动命名驼峰变量名,我开发了一套油猴脚本...

前言 你知道程序员最经常做的事是什么吗?是取变量名! 我们常规取变量名的方式是这样的,打开谷歌搜索或者有道搜索,输入变量的中文名,然后复制翻译结果,转到编译器改为驼峰命名,大致流程如下&a…

(外观检测图像增强)阿丘科技AQCV1.0 计算视觉库

阿丘科技计算视觉库 AQCV 专为开发人员的工业机器视觉应用而设计,有较强的灵活性。AQCV 允许开发 人员能够高效开发项目需要的程序,可以配合AIDI,为实际检测应用赋能。 基础图像处理:滤波、几何变换、极坐标展开 特征分析:Blob分析、轮廓分析…

腾讯地图api-基本用法总结

一、序言 前段时间呢,由于工作原因研究了百度地图api的基本用法。百度地图用法点击查看 所以开始对地图产生了点兴趣,最近花了几个时间研究了下腾讯地图的基本使用。 只要是个cv程序员,快的话可能只要1个小时就能上手,慢的话最多…

java毕业设计基于spring框架的论坛网站项目设计和源码

一、主题 榴莲社区——java开发基于spring框架的论坛网站,基于spring框架的论坛网站项目设计和项目 源 码 免 费下 载 链 接 如 下: 毕业设计项目基于spring框架的论坛网站源码.zip-Javascript文档类资源-CSDN下载毕业设计项目基于spring框架的论坛网…

笔试强训(二十一)

目录一、选择题二、编程题2.1 MP3光标位置2.1.1 题目2.1.2 题解2.2 洗牌2.2.1 题目2.2.2 题解一、选择题 (1)下列叙述错误的是(B) A.二叉链表是二叉树的存储结构 B.循环链表是循环队列的存储结构 C.栈是线性结构 D.循环队列是队列…

你会知道有关原型与原型链题的那些事~

你还会想知道的有关的原型 在之前总结中,有总结到一些关于原型与原型链的知识点。本来还想加一下各类笔试中,有关原型与原型链的题目,后面忙着忙着给忘了,现在补上,同时也加深一下自己的理解。 首先还是得把这个图先…

实操演练 | 探索数据库中的枚举ENUM(存储、验证、插入和检索)

在信息技术领域,俗称 IT 领域,枚举(ENUM)是一种特殊的数据类型,它封装了一组预定义的常量。因此,变量可能只保存枚举的其中一个预定义的值。常见的示例包括指南针方向(東、南、西、北&#xff0…

东华大学 2022 oj c++ 无超纲写法 简单易懂 日期

//没有技巧&#xff0c;没有感情 AC代码&#xff1a; #include <stdio.h> #include<iostream> #include<string> #include<bits/stdc.h> using namespace std; int main() { char day[4]; char day1[4] { M,o,n }; char day2[4] { T,u,…