前端笔试题总结,带答案和解析(一)


1. 执行以下程序,输出结果为()

var x = 10;
var y = 20;
var z = x < y ? x++:++y;
console.log('x='+x+';y='+y+';z='+z);

A x=11;y=21;z=11
B x=11;y=20;z=10
C x=11;y=21;z=10
D x=11;y=20;z=11

初始化x的值为10,y的值为20,x < y返回结果为true,所以执行var z = x++,x++是后置自增,也就是先返回x值,然后再自增加1,所以输出x的值为11,z的值为10,而y值没有改变,仍然是20,B选项正确。


2. typeof Date.now() 的值是:'number'

先执行 Date.now() 得到一个时间戳 typeof 时间戳 =》‘number’


3. 请阅读以下代码
var obj = {};
obj.log = console.log;
obj.log.call(console,this);

该代码在浏览器中执行,输出的日志结果是什么?

A undefined
B window
C console
D obj

obj.log = console.log;//在本行中obj对象中创建了一个函数(即console.log)的引用log,因为是个这个函数的引用如果想要执行可以有两种方法,第一种是后边加(),第二种是使用apply()或者call(),二者第一个参数都是this,接下来的参数apply是参数数组或者是"arguments",而call的参数是直接的参数值
obj.log.call(console,this);//如上所述,call的第二个参数是要被传入obj.log()的参数,这行代码其实可等价于console.log(this),而因为这三行代码都是在global环境下定义的(不是函数中的局部变量),所以this就是window.
至于第一个参数为什么是console而不是this,我觉得console被按照this处理了,我试了试,替换后的执行结果相同


4.执行以下代码,alert的输出结果为()
 var msg = 'hello';
for (var i = 0; i<10; i++){var msg = 'hello' + i * 2 + i;
}
alert(msg);

答案:hello189

解析:在for循环内使用var声明的变量msg并不是局部变量,而是全局变量。在for循环中,每循环一次,变量msg的值就被覆盖一次, 当i=10时不满足i<10,则不执行for里面的逻辑,所以最后一次i=9,最终msg的值为表达式‘hello’ + 9 * 2 + 9的返回结果,根据运算符的优先级,先计算9 * 2,返回结果为18,接着运算hello + 18,返回结果为字符串类型的hello18,最后运算hello18 + 9,返回结果为字符串类型的hello189,故输出结果为hello189,B选项正确。

“hello”+9*2+9
“hello”+18+9
“hello18”+9
“hello189”


5.下列逻辑表达式的结果为false的是()
A NaN == NaN

B null == undefined

C ‘’ == 0

D true == 1

答案:A

解析:
A选项,NaN无论与谁比较,包括它自己,结果都是false,A正确;
B选项,null与undefined使用 ‘ == ’ 比较,结果为true,除此之外,undefined和null与谁比较,结果都为false;
C选项,String与Number比较,先将String转为Number类型,再比较,''转为Number类型的结果为0,故 ‘’ == 0的结果为true;
D选项,Boolean与其他类型比较,Boolean先转为Number类型,true转为Number类型的值为1,故true==1的结果为true。


6.已知arr = [1,2,NaN,1,4,2,NaN],现为输出arr的不重复元素(重复元素只输出一次),则下列程序中的①处,可以作为判断条件的是()

var newArr = [];
for(var i = 0 ;i<arr.length;i++){if(){newArr.push(arr[i]);}
}
console.log(newArr);

A newArr.indexOf(arr[i]) == -1

B !newArr.indexOf(arr[i]) == -1

C newArr.includes(arr[i])

D !newArr.includes(arr[i])

解析:
indexOf()方法与includes()方法的一个重要区别在于indexOf()并不能判断数组的NaN元素,换句话说,不管数组arr是否有NaN元素,arr.indexOf(NaN)返回值都是-1,所以AB选项不能对NaN进行去重,不符合题意;
如果newArr数组不含有arr数组的某个元素,就应该把该元素添加到newArr数组中,如果含有,则不能添加,这样才能达到去重的目的,即newArr.includes(arr[i])返回值为false时,就应该执行if内的语句,所以应该使用“!”对条件取反,D选项符合题意,C选项不符合题意。


7. 执行以下程序,输出结果为()
var one;
var two = null;
console.log(one == two,one === two);

答案:true,false
解析:变量one只声明未赋值,所以其值为undefined,在使用 “ == ” 对undefined和null进行比较时,不能将null和undefined转换成其他任何值,并且规定undefined == null返回结果为true,而使用“ === ”进行比较时,由于“===”需要严格区分数据类型,故undefined === null返回结果为False,A选项正确。


8. 如下代码片段的运行结果是
var obj ={a:1,b:function () {alert(this.a)}}; 
var fun =obj.b; 
fun()

答案:弹出undefined
解析:var b = function(){ alert(this.a); }, obj = { a:1, b:b // 把函数独立出来 }; var fun = obj.b;// 存储的是内存中的地址 fun(); 答案:C 虽然fun是obj.b的一个引用,但是实际上,它引用的是b函数本身,因此此时的fun()其实 是一个不带任何修饰的函数调用,所以this指向window。


9. 下面符合javascript变量定义规则的是?

A _$te$t2
B with
C a bc
D 2a
答案:A
解析: 第一个字符必须是一个字母、下划线(_)或一个美元符号($);其他字符可以是字母、下划线、美元符号或数字
B中with是保留字,C中带空格,D不能以数字开头


10 请问以下JS代码会输出什么
var a = 10; 
(function a() {a = 20;console.log(a); 
})()

答案:输出函数a的内容
解析:首先存在变量提升和函数提升,所以一开始变量a被提升,值为undefined,由于函数可以在函数体中访问自己的标识符(函数名),而且函数提升优先级更高所以a先被赋值为函数。
又因为是立即执行函数所以执行了函数a输出a目前的值(即函数),之后才是被赋值为10.


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

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

相关文章

【ONE·Linux || 多线程(二)】

总言 多线程&#xff1a;生产者消费者模型与两种实现方式&#xff08;条件变量、信号量&#xff09;、线程池。 文章目录 总言4、生产者消费者模型4.1、基本概念4.2、基于BlockingQueue的生产者消费者模型&#xff08;理解条件变量&#xff09;4.2.1、单生产者单消费者模式&am…

【juc】countdownlatch实现游戏进度

目录 一、截图示例二、代码示例 一、截图示例 二、代码示例 package com.learning.countdownlatch;import java.util.Arrays; import java.util.Random; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java.util.concurr…

爱普生LQ1900KIIH复位方法

爱普生EPSON 1900KIIH是一部通用针式打印机&#xff0c;136列&#xff08;10cpi下&#xff09;的打印宽度&#xff0c;缓冲区128KB&#xff0c;打印速度为270字/秒。 打印机类型 打印方式&#xff1a;24针击打式点阵打印、打印方向&#xff1a;双向逻辑查找、安全规格标准&am…

Dubbo-CVE-2020-1948

APache Dubbo简介 Dubbo是一个分布式服务框架&#xff0c;致力于提供高性能和透明化的RPC远程服务调用方案&#xff0c;以及SOA服务治理方案。简单的说&#xff0c;dubbo就是个服务框架&#xff0c;如果没有分布式的需求&#xff0c;其实是不需要用的&#xff0c;只有在分布式…

云计算基础:理解AWS、Azure和Google Cloud

云计算基础&#xff1a;理解AWS、Azure和Google Cloud 介绍 云计算已经成为现代科技领域的重要驱动力之一。它为企业提供了灵活性、可伸缩性和成本效益&#xff0c;以满足日益增长的计算和存储需求。本文将深入探讨三个主要的云计算提供商&#xff1a;Amazon Web Services (A…

【GIT版本控制】--GIT的基本概念

当学习GIT的基本概念时&#xff0c;理解仓库&#xff08;Repository&#xff09;、提交&#xff08;Commit&#xff09;、分支&#xff08;Branch&#xff09;和合并&#xff08;Merge&#xff09;是至关重要的。这些是IT的核心概念&#xff0c;对于有效使用GIT非常关键。 一、…

人体姿态标注

人体姿态标注 一 标注工具labelme1.1 安装方式1.2 界面说明 二 数据集准备以下每张图片的命名方式&#xff1a;状态_学号_序号.jpg (注意 一定是jpg格式) 保存到一个文件夹中&#xff0c;便于标注。 例如&#xff1a;FALL_0000_0001.jpg 站立数据(UP)&#xff1a;不同方向&…

MySQL增删查改(进阶1)

一、数据库约束 约束&#xff1a;按照一定条件进行规范的做事&#xff1b; 表定义的时候&#xff0c;某些字段保存的数据需要按照一定的约束条件&#xff1b; 1.null约束 字段null&#xff1a;该字段可以为空&#xff1b;not null&#xff1a;该字段不能为空不指定的话就是…

优优嗨聚集团:OTC药品能否纳入报销成为各方关注焦点,对OTC医疗有何影响

随着医疗费用的不断上涨&#xff0c;各方对于非处方药&#xff08;OTC&#xff09;能否纳入报销的关注度也在不断提升。OTC药品是指无需医生处方即可购买的药品&#xff0c;具有方便快捷、安全有效的特点。然而&#xff0c;对于是否将OTC药品纳入报销范围&#xff0c;各方看法不…

NewStarCTF 2023 WEEK1|PWN ret2text

拖进IDA&#xff0c;查看 int __cdecl main(int argc, const char **argv, const char **envp) {char buf[32]; // [rsp0h] [rbp-20h] BYREFinit();puts("Welcome to NewStar CTF!!");puts("Show me your magic");read(0, buf, 0x100uLL);return 0; } ma…

Java版本+企业电子招投标系统源代码之电子招投标系统建设的重点和未来趋势

一、立项管理 1、招标立项申请 功能点&#xff1a;招标类项目立项申请入口&#xff0c;用户可以保存为草稿&#xff0c;提交。 2、非招标立项申请 功能点&#xff1a;非招标立项申请入口、用户可以保存为草稿、提交。 3、采购立项列表 功能点&#xff1a;对草稿进行编辑&#x…

46 二叉树展开为链表

二叉树展开为链表 理解题意&#xff1a;前序遍历的N种写法题解1 前序遍历题解2 反前序遍历(代码简洁)题解3 类似旋转的方法题解4 迭代题解5 同时遍历改左右子树 给你二叉树的根结点 root &#xff0c;请你将它展开为一个单链表&#xff1a; 展开后的单链表应该同样使用 TreeNo…

Day-05 CentOS7.5 安装 Docker

参考 &#xff1a; Install Docker Engine on CentOS | Docker DocsLearn how to install Docker Engine on CentOS. These instructions cover the different installation methods, how to uninstall, and next steps.https://docs.docker.com/engine/install/centos/ Doc…

让照片人物开口说话,SadTalker 安装及使用(避坑指南)

AI技术突飞猛进&#xff0c;不断的改变着人们的工作和生活。数字人直播作为新兴形式&#xff0c;必将成为未来趋势&#xff0c;具有巨大的、广阔的、惊人的市场前景。它将不断融合创新技术和跨界合作&#xff0c;提供更具个性化和多样化的互动体验&#xff0c;成为未来的一种趋…

仓库数据增量更新加载算法(支持混乱日期跑批)

1、 建库及测试数据插入脚本 --建增量更新目标表 -- Create table create table EDW_T100_BAL_IU ( ID VARCHAR2(8) not null,BAL NUMBER(22,2),UPDATE_DT VARCHAR2(8) ); -- Add comments to the table comment on table EDW_T100_BAL_IUis 余额&#xff08;增…

2023年湘潭大学OJ作业1 XTU OJ 1063,1064,1065,1066,1067 2023年下学期《C语言》作业0x00-输入输出

第一题 #include<stdio.h>int main() {int a;scanf("%d",&a);printf("%d,%X",a,a);return 0; } 十六进制使用%x来表示&#xff0c;注意x是大写就出输出的是大写字母&#xff0c;x是小写就输出的是小写字母 第二题 #include<stdio.h>in…

[C++基础]-多态

前言 作者&#xff1a;小蜗牛向前冲 名言&#xff1a;我可以接受失败&#xff0c;但我不能接受放弃 如果觉的博主的文章还不错的话&#xff0c;还请点赞&#xff0c;收藏&#xff0c;关注&#x1f440;支持博主。如果发现有问题的地方欢迎❀大家在评论区指正。 本期学习目标&am…

数据库配置mysql5.7

1 创建数据库 """ 1.管理员连接数据库 mysql -uroot -proot2.创建数据库 create database hello default charsetutf8;3.查看用户 select user,host,password from mysql.user;# 5.7往后的版本 select user,host,authentication_string from mysql.user; "…

力扣-345.反转字符串中的元音字母

Idea 将s中的元音字母存在字符串sv中&#xff0c;并且使用一个数组依次存储元音字母的下标。 然后将字符串sv进行反转&#xff0c;并遍历元音下标数组&#xff0c;将反转后的字符串sv依次插入到源字符串s中 AC Code class Solution { public:string reverseVowels(string s) {…

【进阶C语言】数组笔试题解析

本节内容以刷题为主&#xff0c;大致目录&#xff1a; 1.一维数组 2.字符数组 3.二维数组 学完后&#xff0c;你将对数组有了更全面的认识 在刷关于数组的题目前&#xff0c;我们先认识一下数组名&#xff1a; 数组名的意义&#xff1a;表示数组首元素的地址 但是有两个例外…