JavaScript前端面试题基于vue(1)

  1. vuex中四大模块怎么传递的,component,action,mutation,state,及action和mutation的区别,action是异步的吗?

vuex模块间的调度关系

  1. vue中 r o u t e 和 route和 routerouter的区别

  2. vue中router的hash和history模式有什么不同及实现原理,history后端需要做什么配置才支持。

  3. 写出vue中至少四个v-指令,说明其作用。

  4. vue和react相同点与不同点。

二、编程题

===================================================================

  1. 以下程序输出结果

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 定义函数或对象内的全局变量,以及函数里定义的变量满足闭包,即在外部访问不到

函数里定义的变量存在于栈中运行完成即变量销毁

  1. 以下程序输出结果

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并没有变化。

  1. 对字符串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”)

  1. 异步题目

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

  1. 变量提升题

test()

var b=20;

function test(){

console.log(b)

if(!b){

var b=10;

}

console.log(b)

}

结果:undefined 10

结尾

学习html5、css、javascript这些基础知识,学习的渠道很多,就不多说了,例如,一些其他的优秀博客。但是本人觉得看书也很必要,可以节省很多时间,常见的javascript的书,例如:javascript的高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。

}

结果:undefined 10

结尾

学习html5、css、javascript这些基础知识,学习的渠道很多,就不多说了,例如,一些其他的优秀博客。但是本人觉得看书也很必要,可以节省很多时间,常见的javascript的书,例如:javascript的高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。

html5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值