下面是小编为大家整理的2023年前端基础笔试题及答案大全,供大家参考。
前端基础笔试题及答案大全
前端笔试考试其实不会很难,考的大多是基础知识,平常最重要的还是要多练习。今天小编整理了前端基础笔试题及答案大全供大家参考,一起来看看吧!
前端基础笔试题及答案
JS深入this
00001.
下列哪种方法不能改变this指向
00002.
A. eval
B.apply
C. bind
D.call
00001.
在Java中下面选项关于this描述正确的是
00002.
A.在使用new实例化对象时,this指向这个实例对象
B.将对象的方法赋值给变量A。执行A时该方法中的this指向这个对象。
C.在函数定义时,this指向全局变量
D.在浏览器下的全局范围内,this指向全局对象
00001.
下面有关Java中call和apply方法的描述,错误的是?
00002.
A.call与apply都属于Function.prototype的一个方法,所以每个 function实例都有call、apply属性
B.两者传递的参数不同,call函数第一个参数都是要传入给当前对象的对象,apply不是
C.apply传入的是一个参数数组,也就是将多个参数组合成为一个数组传入
D.call传入的则是直接的参数列表。call方法可将一个函数的对象上下文从初始的上下文改变为由thisObj指定的新对象。
答案
AAB
作用域(闭包)
00001.
内存泄漏是java代码中必须尽量避免的,以下几段代码可能会引起内存泄漏的有
00002.
//(1)
functiongetName{
name= 'java'
}
getName
//(2)
constelements={
button:document.getElementById( 'button')
};
functionremoveButton{
document.body.removeChild(elements.button);
}
removeButton
//(3)
lettimer=setInterval(=>{
constnode=document.querySelector( '#node')
if(node){
clearInterval(timer)
}
},1000);
A.(1)、(2)、(3)
B.(2)、(3)
C.(1)、(3)
D.(1)、(2)
00001.
那个操作不会造成内存泄露
00002.
A.没有清理的DOM元素引用
B.被遗忘的定时器
C.事件侦听没有移除
D.局部变量不用时,没有设为null
00001.
下列关于闭包理解错误的是
00002.
A.增加一定的内存消耗
B.使用不当可能会导致内存泄漏
C.可以使用闭包模拟私有方法
D.闭包会改动对象的原型链
答案
DDD
原型与继承
00001.
Java实现继承的方式,不正确的是:
00002.
A.原型链继承
B.构造函数继承
C.组合继承
D.关联继承
00001.
所有对象都有原型
00002.
A.T
B.F
00001.
以下关于原型链的描述正确的是:
00002.
A.通过原型链继承的属性和对象自己定义的属性等效
B.通过原型链可以模拟对象的私有属性
C.在对象上访问不存在的属性时,会依次遍历整条原型链
D.所有Java中的对象都是位于原型链顶端的`Object`的实例
答案
DBC
其他
00001.
以下不属于前端数据存储方式的是?
00002.
A.jsonp
B.cookie
C.localStorage
D.sessionStorage
答案
A
DOM题事件流
00001.
将A元素拖拽并放置到B元素中,B元素需要做哪项操作?
00002.
A.event.preventDefault
B.event.prevent
C.event.drag
D.event.drop
00001.
以下不支持冒泡的鼠标事件为()?
00002.
A.mouseover
B.click
C.mouseleave
D.mousemove
00001.
在java中,用于阻止默认事件的默认操作的方法是
00002.
A.stopDeafault
B.stopPropagation
C.preventDefault
D.preventDefaultEven
00001.
事件传播的三个阶段是什么
00002.
目标->捕获->冒泡
冒泡->目标->捕获
目标->冒泡->捕获
捕获->目标->冒泡
00001.
下面有关java常见事件的触发情况,描述错误的是?
00002.
A.onchange:用户改变域的内容
B.onkeypress:某个键盘的键被按下或按住
C.onmousedown:某个鼠标按键被按下
D.onblur:元素获得焦点
答案
ACCDD
DOM遍历
00001.
下列哪项不属于DOM查找节点的属性?
00002.
A.parentObj.firstChild
B.parentObj.children
C.neborNode.previousSibling
D.neborNode.siblings
00001.
DOM中,给父节点添加子节点的正确方法为?
00002.
A.(parentNode,newNode);
B.append(parentNode,newNode);
C.parentNode.append(newNode);
D.parentNode.(newNode);
00001.
Java中document.getElementById返回值的类型为?
00002.
A.Array
B.Object
C.String
D.Function
00001.
DOM中,给父节点添加子节点的正确方法为?
00002.
A.(parentNode,newNode);
B.append(parentNode,newNode);
C.parentNode.append(newNode);
D.parentNode.(newNode);
答案
DDBD
其他
00001.
DOM元素的以下属性改变会导致重排(reflows)的是
00002.
outline
visiblity
font-size
background-color
答案
C
BOM题
00001.
setInterval(updateClock,60)的含义是()?
00002.
A.每隔60秒调用一次updateClock
B.每隔60毫秒调用一次updateClock
C.每隔60分钟调用一次updateClock
D.每分钟调用60次updateClock
00001.
使用方法()可以获取到地理位置所在的经纬度?
00002.
A.Geolocation.watchPosition
B.Geolocation.getCurrentPosition
C.Geolocation.getPosition
D.Geolocation.Position
00001.
setInterval("alert('welcome');",1000);这段代码的意思是
00002.
A.等待1000秒后,再弹出一个对话框
B.等待1秒钟后弹出一个对话框
C.每隔一秒钟弹出一个对话框
D.语句报错,语法有问题
答案
BBC
ES6题箭头函数
00001.
下列对js箭头函数描述错误的是
00002.
A.箭头函数没有原型属性
B.箭头函数不绑定this,会捕获其所在的上下文的this值,作为自己的this值
C.箭头函数可以作为构造函数,使用new
D.箭头函数不绑定arguments,取而代之用rest参数解决
00001.
关于箭头函数下列说法错误的一项是:
00002.
A.函数体内this的指向是定义时所在的对象,而不是使用时所在的对象
B.箭头函数内不能使用arguments对象
C.箭头函数不能使用yield命令
D.可以使用new创建一个箭头函数的实例
答案
CD
promise
00001.
关于将Promise.all和Promise.race传入空数组的两段代码的输出结果说法正确的是:
00002.
Promise.all([]). then((res)=>{
console.log( 'all');
});
Promise.race([]). then((res)=>{
console.log( 'race');
});
A.all和race都会被输出
B.all和race都不会被输出
C.all会被输出,而race不会被输出
D.all不会被输出,race会被输出
00001.
以下方案中,不是用于解决回调陷阱的的是:
00002.
A.Promise
B.Generator
C.async
D.Proxy
00001.
在ECMA6中,不属于promise的状态是:
00002.
A.Pending
B.Pause
C.Fulfilled
D.Rejected
答案
CDB
解构赋值
00001.
关于ES6解构表达式,描述正确的是
00002.
let[a,b,c,d,e]= "hello";
A.e= "hello";
B.其它都为undefined
C.当中a= "h",b= "e";
D.语法报错
答案
C
多选题JS基础
00001.
下面哪些数组方法会改变原数组
00002.
A.push
B.concat
C.splice
D.map
00001.
下面可以声明数字的js代码是
00002.
A.consta=0xa1
B.consta=076
C.consta=0b21
D.consta=7e2
00001.
以下属于操作符typeof的返回值的是:
00002.
(1) function
(2)object
(3)null
(4)array
(5)NaN
(6)bigint
(7)regexp
(8)undefined
A.(1)、(2)、(3)、(4)、(5)、(6)、(7)、(8)
B.(1)、(2)、(3)、(8)
C.(1)、(2)、(8)
D.(1)、(2)、(6)、(8)
00001.
以下结果等于字符串string
00002.
A.typeof 'string'
B.String( 'string').toString
C. 'string'.split( '').sort.join( '')
D.( function(string){ returnstring})( 'string')
E.JSON.parse( '{"string":"string"}').string
00001.
下面的等式成立的是?
00002.
A.parseInt(46.8)`==`parseFloat(46.8)
B.NaN`!==`NaN
C.isNaN( 'abc')`==`NaN
D.typeofNaN`===` 'number'
00001.
以下哪些选项可以将集合A转化为数组?
00002.
A.Array.from(A)
B.[].slice.apply(A)
C.[...A]
D.[].map.call(A,o=>o)
00001.
下列结果返回true的是
00002.
A.null==undefined
B.null===undefined
C.null===null
D.NaN==null
E.NaN===NaN
F.Infinity+1!==Infinity
答案
ACABDDABDEBDABCDAC
JS深入
00001.
关于以下代码,说法正确的有哪些?
00002.
functionPerson{}varperson=newPerson;
A.每一个原型都有一个constructor属性指向关联的构造函数。
B.每一个对象都有一个prototype属性。
C.Object.getPrototypeOf(person)===Person.prototype
D.person.constructor===Person
00001.
下列在JS时间循环机制中属于微任务(microTask)的是?
00002.
A.process.nextTick
B.promise
C.setTimeout
D.setInterval
答案
ACDAB
ES6
00001.
以下关于let和const的说法中正确的是:
00002.
A. let声明的变量值和类型都可以改变
B.const声明的常量不可以改变
C.两者都不存在变量提升,同时存在暂时性死区,只能在声明的位置后面使用
D.const可以先声明再初始化,可以后赋值
web前端需要学哪些内容
web前端需要学HTML、CSS、JavaScript、jQuery、Ajax、前端框架(vue/React/Angular等)等前端知识;
还要了解每个浏览器中的各个版本的兼容性、Web标准、移动设备、多终端适配等知识。
笔试编程题写不出来怎么办
笔试编程一般都不是一道题,有的有三个。做不出来不见得一点机会也没有,主要看编程思路,算法逻辑是否正确。同样编出来也不代表没问题了,也要看编程规范,算法选择等是否合适。有时即使编出来也不见得能通过所有测试例可能只是部分通过。
程序员面试注意事项
1.技术
虽然你说不说,还是提一下吧,就是做题做题,我去找工作的时候都不知道的,笔试题很烂,如果你的笔试题答得不怎么好,那么如果你的项目经验有不错的地方,人家也会要你,我在一次面试中就是这样子,老总跟我说我的答题不好,因为我写了个禁忌算法,别人最后也要我了,虽然最后没有去。
2.非技术
我在现在去的那家公司,是不需要笔试的,直接现场两轮面试,之后有通知直接录取,最后被录用了。针对你的“对公司有什么了解”,我当时回答:没有。事后想起来有点惭愧,那时面试官听到我这么答,就直接跟我说了公司的规模、从事方向等,另外也说了不希望员工频繁跳槽。个人感觉她还在观察我的表达和面部表情。像这种问题我个人经过这几次面试主要有这么种体会,问一些公司的情况就可以了,最好不要问待遇,因为他们在录用你的时候会说待遇的,当他们回答你的时候,你要表现得很有兴趣就可以了,给他们感觉你很喜欢这份工作。
分几部分内容的话,我感觉每个公司都不一样。最好能够跟他们闲聊,我面试的时候就跟面试官聊了一下,聊到什么大海污染之类的,我家住在哪里等等,个人感觉重要的就是你的态度吧。如果表达能力行的话,基本上我感觉除了技术的问题就不是问题。我就怕他们问太多技术,因为跨行,不一定什么都懂,相反我的表达能力不错,除了技术的一概都不是问题。