2024年Web前端最全JS面试题汇总(九),【面试必备

最后

基础知识是前端一面必问的,如果你在基础知识这一块翻车了,就算你框架玩的再6,webpack、git、node学习的再好也无济于事,因为对方就不会再给你展示的机会,千万不要因为基础错过了自己心怡的公司。前端的基础知识杂且多,并不是理解就ok了,有些是真的要去记。当然了我们是牛x的前端工程师,每天像背英语单词一样去背知识点就没必要了,只要平时工作中多注意总结,面试前端刷下题目就可以了。

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

✨83. js 中 callee 与 caller 的作用

参考答案:

1. caller 返回一个调用当前函数的引用 如果是由顶层调用的话 则返回 null

(举个栗子哈 caller 给你打电话的人 谁给你打电话了 谁调用了你 很显然是下面 a 函数的执行 只有在打电话的时候你才能知道打电话的人是谁 所以对于函数来说 只有 caller 在函数执行的时候才存在)

var callerTest = function() {

console.log(callerTest.caller);

};

function a() {

callerTest();

}

a(); //输出function a() {callerTest();}

callerTest(); //输出null

2. callee 返回一个正在被执行函数的引用 (这里常用来递归匿名函数本身 但是在严格模式下不可行)

callee 是 arguments 对象的一个成员 表示对函数对象本身的引用 它有个 length 属性(代表形参的长度)

var c = function(x, y) {

console.log(arguments.length, arguments.callee.length, arguments.callee);

};

c(1, 2, 3); //输出3 2 function(x,y) {console.log(arguments.length,arguments.callee.length,arguments.callee)}

✨84. 异步加载 js 的方法

参考答案:

方案一: <script> 标签的 async="async"属性(详细参见:script 标签的 async 属性)

点评:HTML5 中新增的属性,Chrome、FF、IE9&IE9+均支持(IE6~8 不支持)。此外,这种方法不能保证脚本按顺序执行。

方案二: <script> 标签的 defer="defer"属性

点评:兼容所有浏览器。此外,这种方法可以确保所有设置 defer 属性的脚本按顺序执行。

方案三:动态创建 <script> 标签

示例:

点评:兼容所有浏览器。

方案四:AJAX eval(使用 AJAX 得到脚本内容,然后通过 eval_r(xmlhttp. responseText)来运行脚本)

点评:兼容所有浏览器。

方案五:iframe 方式(这里可以参照:iframe 异步加载技术及性能 中关于 Meboo 的部分)

点评:兼容所有浏览器。

✨85. 去除数组重复成员的方法

参考答案:

方法 1 扩展运算符和 Set 结构相结合,就可以去除数组的重复成员

// 去除数组的重复成员

[…new Set([1, 2, 2, 3, 4, 5, 5])];

// [1, 2, 3, 4, 5]

方法 2

function dedupe(array) {

return Array.from(new Set(array));

}

dedupe([1, 1, 2, 3]); // [1, 2, 3]

方法 3(ES5)

function unique(arry) {

const temp = [];

arry.forEach(e => {

if (temp.indexOf(e) == -1) {

temp.push(e);

}

});

return temp;

}

✨86. 去除字符串里面的重复字符

参考答案:

最简单的方式

[…new Set(“ababbc”)].join(“”); // “abc”

✨87. 求数组的最大值

参考答案:

Math. max. apply(null, 数组)

var a = [1, 2, 3, 5];

alert(Math.max.apply(null, a)); //最大值

alert(Math.min.apply(null, a)); //最小值

✨88. JS 中 文档碎片的理解和使用

参考答案:

最后

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

给大家分享一些关于HTML的面试题。


); //最大值

alert(Math.min.apply(null, a)); //最小值

✨88. JS 中 文档碎片的理解和使用

参考答案:

最后

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

给大家分享一些关于HTML的面试题。

[外链图片转存中…(img-X8qwS658-1714829072229)]
[外链图片转存中…(img-2GDU6Aiw-1714829072231)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值