JS篇

1、深复制的实现。深复制和浅复制的区别

2、实现一个once函数,传入函数参数只执行一次

function ones(func){
var tag=true;
return function(){
if(tag==true){
func.apply(null,arguments);
tag=false;
}
return undefined
}
}

3、将原生的ajax封装成promise !!重点看

var  myNewAjax=function(url){
return new Promise(function(resolve,reject){
var xhr = new XMLHttpRequest();
xhr.open('get',url);
xhr.send(data);
xhr.onreadystatechange=function(){
if(xhr.status==200&&readyState==4){
var json=JSON.parse(xhr.responseText);
resolve(json)
}else if(xhr.readyState==4&&xhr.status!=200){
reject('error');
}
}
})
}

4、如何实现一个私有变量,用getName方法可以访问,不能直接访问

如何实现一个私有变量,用getName方法可以访问,不能直接访问前端校招面试题目合集牛客网 (nowcoder.com)

5、==和===、以及Object.is的区别

==和===、以及Object.is的区别前端校招面试题目合集牛客网 (nowcoder.com)

6、requestAnimationFrame 是什么用过没

http://www.cnblogs.com/xiaohuochai/p/5777186.html

7、实现一个两列等高布局,讲讲思路 ??? 没听过,去搜

8、用setTimeout来实现setInterval

用setTimeout来实现setInterval_前端校招面试题目合集_牛客网 (nowcoder.com)

9、js怎么控制一次加载一张图片,加载完后再加载下一张

js怎么控制一次加载一张图片,加载完后再加载下一张前端校招面试题目合集牛客网 (nowcoder.com)

10、如何实现sleep的效果(es5或者es6)

如何实现sleep的效果(es5或者es6)前端校招面试题目合集牛客网 (nowcoder.com)

11、手写promise

12、Function.proto(getPrototypeOf)是什么?

Function.proto(getPrototypeOf...前端校招面试题目合集牛客网 (nowcoder.com)
这些原型之间的关系,需要好好捋捋。

13、实现js中所有对象的深度克隆(包装对象,Date对象,正则对象)

实现js中所有对象的深度克隆(包装对象,Date对象,正则对象)前端校招面试题目合集牛客网 (nowcoder.com)

14、js判断类型

判断方法:typeof(),instanceof,Object.prototype.toString.call()等

15、数组去重

法一:indexOf循环去重
法二:ES6 Set去重;Array.from(new Set(array))

法三:Object 键值对去重;把数组的值存成 Object 的 key 值,比如 Object[value1] = true,在判断另一个值的时候,如果 Object[value2]存在的话,就说明该值是重复的。

16、你说到typeof,能不能加一个限制条件达到判断条件

typeof只能判断是object,可以判断一下是否拥有数组的方法

17、跨域

18、按需加载

19、JS中有哪几种继承方式。(看书)

20、说说原型链

js原型链,原型链的顶端是什么?Object的原型是什么?Object的原...前端校招面试题目合集牛客网 (nowcoder.com)

21、如何使不同页面之间进行通信????(搜搜)

22、如何写一个继承?

如何写一个继承?前端校招面试题目合集牛客网 (nowcoder.com)

23、new操作符原理 手动实现一个new操作符

24、说说fetch

以后的就是vue 和 打包工具的面试题了。。回头看拉勾。

你可能感兴趣的:(JS篇)