昇腾技术 笔试
- 运算 {}+'a'>{}+'b'?
- 斐波那契数列两种方法实现
递归
function getFeibo(n) {
if(n<=0){
return;
}
if (n === 1 || n === 2) {//避免无限递归
return 1;
}
return getFeibo(n - 1) + getFeibo(n - 2);
}
console.log(getFeibo(0));
直接使用变量实现
function fibonacci(n){
var pre = 0;//表示前一个值
var cur = 1;//表示后一个值
var data;//表示当前值
if(n < 0) throw new Error('请输入大于0的值!');
if(n == 0) return 0;
if(n == 1) return 1;
if(n > 2){
for(var i=2;i<=n;i++){
data = pre + cur;
pre = cur;
cur = data;
}
}
return data;
}
直接使用数组实现(动态规划)
function fibonacci(n){
var a = [0,1,1];
if(n < 0) throw new Error('输入的数字不能小于0');
if(n >= 3){
for(var i=3;i<=n;i++){
a[i] = a[i-1]+a[i-2];
}
}
return a[n];
}
使用闭包保存每次的递归值
function fibonacci(n){
if(n < 0) throw new Error('输入的数字不能小于0');
let arr = [0,1];//在外部函数中定义数组,内部函数给数组添加值
function calc(n){
if(n<2){
return arr[n];
}
if(arr[n] != undefined){
return arr[n];
}
let data = calc(n-1) + calc(n-2);//使用data将每次递归得到的值保存起来
arr[n] = data;//将每次递归得到的值放到数组中保存
return data;
}
return calc(n);
}
-
http请求方式及其区别
-
正则表达式,第一位是0或者第一位不是0
GET : 获取资源
POST:传输实体主体
PUT: 传输文件 (使用的场景: 1. 传递文件 2. 修改实体数据)
DELETE : 删除文件
HEAD: 获得报文首部 (不传递里面的数据)
OPTIONS:询问支持的方式
阿壳科技面试
说一下async await promise
项目展示尽快
vue插槽
子组件想调用父组件的函数方法有什么方法
-
parent
-
props
git命令
中国安科院面试
中国安科院面试
vue计算属性和watch
前端会什么
vue指令
v-if 和 v-for优先级
vue3和vue2区别
自定义组件实现v-modal
vue生命周期
请求数据的时候在created可以
路由跳转实现的方式
-
rotulink to 传递的参数
-
还有呢
组价之间通信
计算属性使用场景
watch在什么时候用到监听?
forEach和map区别
for in 和 for of
事件模型不只有捕获和冒泡
说一下事件循环
北京卓越联腾
卓越联腾
- forEach map
- 数组遍历和去重方法
去重
JavaScript数组去重(12种方法,史上最全) - SegmentFault 思否
遍历
es5 forEach
map
filter
every some reduce reduceRight es6 find findIndex keys values entries
- 判断数据类型 instanceof typeof 方法区别
- 数据类型
- 网络 输入URL到页面
- UI框架
- 重排和重绘
- 盒模型和切换方式
- doctype
- 介绍项目
- 音乐播放器进度条咋实现的
- 路由跳转
- 箭头函数和普通函数
- this的理解
- 封装逻辑组件 分页组件深入理解
- 平时怎么学前端?看过什么书,即读书笔记
建议:封装逻辑组件