1、(斐波那契数列)从1,1,2,3,5找出规律并写出方法,再进行优化
垃圾代码:
var count = 0;
function fib(n){
count++;
if(n === 1 || n ===2)
{return 1;}
return fib(n-1) + fib(n - 2);
}
console.log(fib(10));
console.log("fib函数调用的次数 " + count);
斐波那契数列性能优化之缓存
缓存: 存储数据的容器(cache)
在js中, 可以使用数组或者是对象进行存储数据,用键存储值,这样就可以实现既能存值也能取值
var cache = { };
var count = 0;function fib(n){
count++;
if(n === 1 || n === 2){
return 1;
}
if(cache[n]){
return cache[n]; }
else{
var ret = fib(n - 1) + fib(n - 2);
cache[n] = ret;
return ret;
}}
console.log(fib(5));</br>
console.log("fib函数调用的次数 " + count);
2、vue中v-bind模拟v-model
1、var a =1, var a ,请问输出什么?
2、立即执行函数是?
3、解释一下异步?
4、使用闭包的场景
5、set和map的区别,map和Object比有啥不同
6、let和const的用途
7、symbol是什么,使用场景
8、async用途
9、解释一个异步,promise
10,axios返回的是什么?
11、解析一下$nextTick?
12、$set
13、vue中的provide/inject
14、父组件调用子组件的方法是
15、如何中断Promise的链式调用
16、实现一个回文数?
17、查找字符串中出现次数最多的字符
1、原生js中添加点击事件/jquery中绑定事件的方法
2、href和src的区别
3、新开窗口的方法
4、闭包的使用
5、display:flex 和标准盒模型有啥区别
6、html5中的可以独自占据一行的标签是?pre
7、socket
8、keep-alive的使用
9、组件之间的传值
10、bus和vuex中的差别
11、let和const的区别
12、权限管理是怎么做的
13、302状态
1、快速排序,时间复杂度
2、let 和const
3、对闭包的理解
4、在vue框架中使用到闭包的情况
5、v-model语法糖
6、vue的原理
7、vue2.0和vue3.0
8、图片性能优化
9、动画效果
10、屏幕自适应
11、angular、react和vue的区别
12、css3 有啥缺点,所有都能用css3实现吗
1、eslint的配置
2、v-model 和vuex
3、登录操作
4、封装请求
5、进入详情后,返回当前页,数据不丢失是如何做的
6、传值的不同方式
7、webpack优化
8、nodejs常见包
9、dom事件
10、csss和js的优化
11、解构赋值
12、设计模式
13、webpack里的map是啥
14、三列布局
1、 async function async1() {
console.log( 'async1 start' )
await async2()
console.log( 'async1 end' )
}
async function async2() {
console.log( 'async2' )
}
console.log( 'script start' )
setTimeout( function () {
console.log( 'setTimeout' )
}, 0 )
async1();
new Promise( function ( resolve ) {
console.log( 'promise1' )
resolve();
} ).then( function () {
console.log( 'promise2' )
} )
console.log( 'script end' )
2、弹性布局
1、null和undefined的区别
2、封装了哪些组件
1、实现一个九宫格
2、BFC
3、输出什么?
let arr = []
function outputNumber() {
for(var i = 0; i < 10; i++) {
arr[i] = function() {
console.log(i)
}
}
}
outputNumber()
console.log(arr[6]())
4、position:static z-index
5、输出什么
console.log(1)
settimeout(function()=>{})
new promise().then(){
console,log()
}
Promise.rosolve.then()
百度面试
1、有哪些跨域
2、在浏览器中输入url,浏览器会发生什么
3、重绘和回流
4、display:none 和visible:hidden 的区别
5、如果重复点击按钮,怎么解决。
6、懒加载和预加载的区别及原理
7、vue-router动态路由
8、vue中的指令
9、组件的传值
10、es6中的新属性都有哪些
11、弹性布局 及 居中 除了弹性居中,还有什么方法
12、盒子模型和标准模型的不同
13、let const var的区别
14、
var object1= {a:1}
var object2 = object1
object2.a = 2
object1.a = 什么
15、深拷贝和浅拷贝的区别
16、vuex的使用
17、vue的生命周期
18、created和mouted的区别
19、原型链
20、怎么改变this的指向及区别
21、vue中的异步队列
22、vue是如何避免重复渲染的?
23、怎么做一个轮播图
24、es6中的属性
25、let和const的区别
26、promise的三种状态,分别是
27、async await和promise的区别
28、性能优化
29、封装了哪些公用组件
30、vuex,页面刷新时数据会丢失,怎么解决
31、在data中定义的数组,在试图上不更新,怎么解决
32、路由的两种模式和区别
33、路由传参
34、nodejs的使用
35、用户登录的操作和路由钩子里的操作
36、父子组件页面加载完后的钩子顺序
37、手机如何适配
38、深拷贝的原理
39、创建对象的方式,和使用js创建对象
40、jquery中的方法
41、原型的父原型是?
42、typeof null和typeof underfind输出的值
43、闭包是因为浏览器的什么机制
44、v-for中key的作用
45、虚拟dom
46、二维数组怎么去重
47、jquery中attr()的作用
48、==和===的区别
49、flex的属性都有哪些
50、防抖和节流
51、将一个对象赋值给另一个对象
52、事件委托
53、给一个div设置沾满全屏
54、定位都有哪些
55、设置div里的span,p垂直居中显示
56、webpack怎么避免全局属性污染
57、http和https的区别
58、跨站脚本攻击和跨站请求伪造
59、nodejs怎么写服务器
60、css3实现垂直居中
61、如何将自己的组件打包发布到npm
62、TCP和UDP的区别
63、 null和underfind的区别
64、 cookie
65、设计模式
66、可继承属性和非可继承属性
67、 html空元素
68、get和post的区别
69、性能优化 性能检测,performance
70、 闭包 内存泄露 css选择器
71、data为啥是个函数
72、匿名函数和箭头函数的区别
73、深拷贝和浅拷贝的区别
74、反序列化和序列化,
75、null,unferfind,function深拷贝能成功吗,
76、兄弟传值,
77、vue动态加载
78、nexttick原理,
79、js抽象类
80、构造函数继承,
81、发布订阅着
82、es6中的属性
83、vuex.mapstate.状态管理和local的区别,sessionlocalstorage的区别
84、安全方面。