一、简答题
-
js里怎样判断变量类型,typeof可以区分哪些不可以区分哪些。
-
数组去重有几种方案,或者找出重复的并排序。
-
prototype 实现原理。
-
对webSocket是否了解,怎样实现前后端通信?
-
浏览器跨域怎么产生的,解决方案有哪些,各有什么优缺点。
-
移动端的适配问题,像素比,rem相对于什么的长度。
-
css实现宽度为屏幕20%的正方形。
-
attribute 和property 的区别。
-
标准模式和混合模式的区别。
扫描二维码关注公众号,回复: 5763480 查看本文章 -
cookie ,sessionStorage,localStorage的区别
-
call,appy,bind的区别,怎么实现bind
-
Vue实现兄弟组件间传值有几种方式
-
v-if和v-show的区别。
-
vue中 keep-alive用法。
-
vuex中四大模块怎么传递的,component,action,mutation,state,及action和mutation的区别,action是异步的吗?
- vue中$route和$router的区别
- vue中router的hash和history模式有什么不同及实现原理,history后端需要做什么配置才支持。
- 写出vue中至少四个v-指令,说明其作用。
- vue和react相同点与不同点。
二、编程题
- 以下程序输出结果
for(let i=0;i<5;i++){
setTimeout(function(){
console.log(i)
},1000)
}
for(var i=0;i<5;i++){
setTimeout(function(){
console.log(i)
},1000)
}
for(leti=0;i<5;i++){
cos(i);
}
for(var i=0;i<5;i++){
cos(i);
}
function cos(i){
setTimeout(function(){
console.log(i);
})
}
结果:0,1,2,3,4和5,5,5,5,5和0,1,2,3,4和0,1,2,3,4
知识点:
let 和var的区别
let定义块级作用域变量
var 定义函数或对象内的全局变量,以及函数里定义的变量满足闭包,即在外部访问不到
函数里定义的变量存在于栈中运行完成即变量销毁
- 以下程序输出结果
let a={c:1};
let b=a;
a.x=a={c:2}
console.log(a.x);
console.log(b.x);
结果undefined和{c:2}
知识点:
两个等号相当于a.x={c:2};a={c:2},补充var a=b=1,相当于var a=1;b=1
第一段代码改变了b对象的引用;第二段代码改变了a的地址但b并没有变化。
- 对字符串get-element-by-id传成驼峰命名
//普通方法,利用数组循环
function changeStr(str){
var arr=str.split("-");
for(var i=1;i<arr.length;i++){
arr[i]=arr[i].charAt(0).toUpperCase() + arr[i].substr(1,arr[i].length);
}
return arr.join("");
}
changeStr("get-element-by-id")
//利用正则表达式函数replace的传函数的用法
function changeStrO(str){
return str.replace(/-(\w)/g,function ($0,$1){
return $1.toUpperCase();
});
}
changeStrO("get-element-by-id")
- 异步题目
var promise=new Promise(
function(resolve,reject){
console.log(1);
resolve();
console.log(2)
});
promise.then((data)=>{console.log(3)})
console.log(4)
结果为:1,2,4,3
- 变量提升题
test()
var b=20;
function test(){
console.log(b)
if(!b){
var b=10;
}
console.log(b)
}
结果:undefined 10
- 匿名函数题
var test=(function(i){
this.x=i
return function(y){
return this.x+y
}
}(1,2))
test(3)
结果为:4
- vue中filter实现自定义命令,过滤数组保留2,3或4位小数
- 动画题,实现一个div元素,1秒扩大1倍,下1秒还原,如此循环执行3次。
div
{
width:100px;
height:100px;
background:red;
animation:myfirst 3s;
animation-iteration-count:3;
-webkit-animation-iteration-count:3; /* Safari 和 Chrome */
}
@keyframes myfirst
{
0% {transform: scale(1);}
50%{transform: scale(2)}
100% {transform:scale(1);}
}
- 样式题,纯样式一个标签怎么实现六边形,实现鼠标单击展开下拉菜单。
- 样式题,实现插入两行文本,超出内容时用三点表示,文本内容靠右等等。
- 一行代码实现筛选出数组的重复元素,并取出前十个。
- 二叉树找出一条完整路径,使得路径上所有节点和等于给定的总和。
- 异步请求题,函数入参给定并发数max,和所有请求路径urls数组,回调函数callback,要求max控制并发总数,在所有并发请求完成后调用回调函数,可以用fetch实现
后续持续更新…