2024年最新【前端领域高频笔试面试】—— JavaScript相关(二(1),最新金九银十前端面试合集

深入解析JavaScript设计模式、继承与并发技术:从函数到HTTP,

常用的JavaScript设计模式

  • 单体模式

  • 工厂模式

  • 例模式

函数

6.简述创建函数的几种方式

7.Javascript如何实现继承?

(1)构造继承法;

(2)原型继承法;

(3)实例继承法。

8.Javascript创建对象的几种方式

9.iframe的优缺点

优点:

(1)解决加载缓慢的第三方内容如图标和广告等的加载问题;

(2)Security sandbox;

(3)并行加载脚本。

缺点:

(1)iframe会阻塞主页面的Onload事件;

(2)即时内容为空,加载也需要时间;

(3)没有语意。

10.请你谈谈Cookie的弊端

(1)Cookie数量和长度的限制。每个domain最多只能有20条cookie,每个cookie长度不能超过4KB,否则会被截掉。

(2)安全性问题。如果cookie被人拦截了,拦截者就可以取得所有的session信息,即使加密也与事无补,因为拦截者并不需要知道cookie的意义,他只要原样转发cookie就可以达到目的了。

(3)有些状态不可能保存在客户端。例如为了防止重复提交表单,我们需要在服务器端保存一个计数器。如果我们把这个计数器保存在客户端,那么它起不到任何作用。

11.js延迟加载的方式有哪些?

(1)defer和async;

(2)动态创建DOM方式(创建script,插入到DOM中,加载完毕后callBack);

(3)按需异步载入js。

12.documen.write和 innerHTML 的区别是什么?

document.write 只能重绘整个页面;

innerHTML 可以重绘页面的一部分。

13.哪些操作会造成内存泄漏?

内存泄漏指任何对象在不再拥有或需要它之后仍然存在。

(1)setTimeout 的第一个参数使用字符串而非函数的话,会引发内存泄漏;

(2)闭包;

(3)控制台日志;

(4)循环,在两个对象彼此引用且彼此保留时,就会产生一个循环。

14.判断一个字符串中出现次数最多的字符并统计这个次数

15.事件委托是什么?

让利用事件冒泡的原理,让自己的所触发的事件的父元素代替执行。

16.闭包是什么,有什么特性,对页面有什么影响?

闭包就是能够读取其他函数内部变量的函数,在本质上闭包就是将函数内部和函数外部连接起来的一座桥梁。

17.解释jsonp的原理,以及为什么不是真正的ajax

jsonp就是动态创建script标签,回调函数;

Ajax是页面无刷新请求数据操作。

18.javascript的本地对象,内置对象和宿主对象各有什么?

本地对象:array、obj、regexp等可以new实例化的;

内置对象:gload、Math等不可以实例化的;

宿主对象:浏览器自带的document、window等。

19.将数字12345678转化成RMB形式:12,345,678

20.生成5个不同的随机数

21.去掉数组中重复的数字

22.javascript中的垃圾回收机制是指?

在Javascript中,如果一个对象不再被引用,那么这个对象就会被回收。

如果两个对象互相引用,而不再被第3者所引用,那么这两个互相引用的对象也会被回收。

函数a被b引用,b又被a外的c引用,这样函数a执行后就不会被回收。

23.解释以下代码

function f1() {

var tmp = 1;

this.x = 3;

console.log(tmp); //代码A

console.log(this.x); //代码B

}

var obj = new f1(); //代码1

console.log(obj.x) //代码2

console.log(f1()); //代码3

这道题让我重新认识了对象和函数,首先代码1实例化了f1这个类,相当于执行了f1函数;所以这个时候 A 会输出1,而代码B这个时候的this代表的是实例化的当前对象obj,B输出3;代码2毋庸置疑会输出3;而代码3这里将不再是一个类,只是一个函数,所以A输出1,代码B的this代表的其实就是window对象,那么this.x 就是一个全局变量,相当于在外部的一个全局变量,所以B输出3。最后代由于f1没有返回值所以将会返回underfined。

答案:1, 3, 3, 1, 3, underfined 。

24.以下代码输出结果为

var o1 = new Object();

var o2 = o1;

o2.name = “CSSer”;

console.log(o1.name);

js中有两种数据类型,分别是基本数据类型和引用数据类型(object Array);对于保存基本类型值的变量变量是按值访问的,因为实际操作的是变量实际保存的值;对于保存引用类型值的变量,变量是按引用访问的,我们操作的是变量值所引用(指向)的对象。

答案:CSSer;

25.JS的继承性

26.加减运算

alert(‘5’+3);   //53 string

alert(‘5’+‘3’);  //53 string

alert(‘5’-3);   //2 number

alert(‘5’-‘3’);  //2 number

27.什么是同源策略?

同协议、端口和域名的安全策略,由王景公司提出来的安全协议。

28.声明对象,添加属性,输出属性

29.匹配输入的字符:第一个必须是字母或下划线开头,长度5-20

30.如何在HTML中添加事件,几种方法?

(1)标签之中直接添加,οnclick=“fun()”;

(2)JS添加,obj.onclick = method;

(3)现代事件

HTTP

  • HTTP 报文结构是怎样的?

  • HTTP有哪些请求方法?

  • GET 和 POST 有什么区别?

  • 如何理解 URI?

  • 如何理解 HTTP 状态码?

  • 简要概括一下 HTTP 的特点?HTTP 有哪些缺点?

  • 对 Accept 系列字段了解多少?

  • 对于定长和不定长的数据,HTTP 是怎么传输的?

  • HTTP 如何处理大文件的传输?

  • HTTP 中如何处理表单数据的提交?

  • HTTP1.1 如何解决 HTTP 的队头阻塞问题?

  • 对 Cookie 了解多少?

  • 如何理解 HTTP 代理?

  • 如何理解 HTTP 缓存及缓存代理?

  • 为什么产生代理缓存?

  • 源服务器的缓存控制

  • 客户端的缓存控制

  • 什么是跨域?浏览器如何拦截响应?如何解决?

    开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值