专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

Web前端|有备而来,收下这拨面试题

ins518 2024-09-22 11:35:45 技术文章 15 ℃ 0 评论

哈喽~今日份的面试题分享又到啦~

和朗妹儿一起,

做一个有准备的人

废话不多说

以下就是我为大家整理的Web前端面试题

1.New操作符具体干了什么?

1.创建一个空对象,并且this变量引用该对象,同时还继承了该函数的原型 var obj = {}

2.属性和方法被加入到this引用的对象中 obj.__proto__ = base.prototype

3.新创建的对象由this所引用,并且最后隐式的返回this base.call(obj)

2.说说JavaScript的原型和原型链?

原型:每一个对象都有其原型属性,这个属性是对象__proto__,这个对象指向构造它的构造函数的原型属性prototype.;

原型一般用于存放多个实例公有的属性和方法,多个实例继承创建他们的构造函数的所有属性和方法,包括原型。

原型链:访问一个属性时,会现在实例本身查找该属性,如果没有,就到其原型对象中去查找,若还是没有会去构造这个对象的构造函数中去查找,如果没有就在这个构造函数中的prototype中去找,如果还是没有就到Object对象中去找,再没有就是null

3.说明JavaScript中的作用域与变量提升

作用域:函数声明时,会确定当前函数的作用域,所谓作用域就是作用的范围(地盘)

作用域链:

a.函数内部调用某个变量的时候,会在当前作用域中查找该变量 是否被声明

b.如果没有被声明,就会去其上一层作用域中查找

c.直到查找到全局作用域,如果还是没有,则为not define

变量提升:在JS引擎解析之前,会有预解析的过程,引擎会迅速扫一遍整个js代码,将内部所有通过var 声明的变量和声明式的函数提取到其自身作用域的顶部,这就是变量提升和函数提升,其中函数提升到变量之前

4.ECMAScript6的新特性

Let、const、结构赋值、函数扩展(箭头函数,默认值)、对象扩展、Set和Map集合、Iterator遍历器、class类(继承)、模块化(import和export)、fetch

5.“use strict”是什么意思?使用它的好处和坏处?

严格模式:是ES5新增的js运行模式,使js在更严格、更规范化的模式下运行

好处:

1,消除JS这门语言本身存在的不合理、不严谨之处,使代码更规范,减少一些怪异行为

2.在该模式下一些糟糕的特效会被禁用,如with,函数必须声明在顶层,arguments、callee不允许使用,

3.消除一些代码不安全之处,eval()执行与正常模式下不同等

4.提高编译器效率,增加运行速度,为未来新版本的js作铺垫

所以:"严格模式"体现了Javascript更合理、更安全、更严谨的发展方向. 为了达到更为普遍的兼容性, 我们应该总是在严格模式下编写代码.

坏处:

1,兼容性问题,IE6789均不支持

2.团队合作问题,有些模块是正常模式,有些是严格模式,会出现问题,解决:统一规范模式,或将不同模块写入不同的立即执行函数,每个函数加上严格和非严格

6.重载和覆写有什么区别

函数特征包括函数名,参数的类型和个数

重载:函数或方法名相同但参数不同,两个可以同时用,用参数区分开,互相称为重载

覆写:方法名相同参数相同,即上一个方法作废。

区别:覆写(Override)的两个函数的函数特征相同,只保留最后一个,重载(Overload)的两个函数的函数名虽然相同,但函数特征不同,都可保留

7.请简单描述一下JQuery中的选择器

1.JQuery封装了大量的选择器,具备元素,标签,类名等基本选择器功能,还对类名选择器进行扩充,支持css的语法选择器

2.对css语法选择器进行扩充,如eq,[type=’text’],has(),first.等

以上就是今天的面试题分享啦~

更多面试题及学习资料,可以私信发送【微信】添加朗妹儿微信领取哟~

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表