1 Star 0 Fork 0

Yan./面试ti

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
6.vue.txt 5.80 KB
一键复制 编辑 原始数据 按行查看 历史
Yan. 提交于 2020-11-05 16:11 . [闫泽瑜]
重点复习:Js+es6+vue
基础问题
1.比较擅长哪个技术?如何理解该技术?哪个点比较深刻
2.在html中如果文件路径找不到怎么排查?
3.前后端数据交互的数据格式有哪些?
• 现在主流的数据格式是json;
• xml基本不怎么用了;
• from表格
4.异步编程的解决方案
• 1.回调函数
• ajax(url, () => {
• // 处理逻辑
• })
• 2.事件监听
• 3.发布publish/订阅subscribe
• 4. Promises对象
5.JS进行数据类型转换的方式
• 转为字符串:1.使用.toString或者String。2. 使用+
• 转为数值类型:1.Number()函数 2.parseInt() 3.parseFloat()
• 转换为布尔类型:1.Boolean()函数 2.!!
6.JS函数的作用? 改this指向?
• 作为一个类构造器使用
• 作为闭包使用
• 作为构造函数调用
• call,apply,bind call和apply会立即调用函数,bind不会立即调用函数call和apply传递的参数也不同
• 普通函数调用,此时 this 指向 window
• 构造函数调用, 此时 this 指向 实例对象
• 对象方法调用, 此时 this 指向 该方法所属的对象
7.JS的基本数据类型和引用数据
• 基本数据类型:undefined、null、boolean、number、string、symbol
• 引用数据类型:object、array、function
8.ES6的新特性
• 块级作用区域 let a = 1;
• 可定义常量 const PI = 3.141592654;
• 变量解构赋值 var [a, b, c] = [1, 2, 3];
• 字符串的扩展(模板字符串) var sum =${a + b};
• 数组的扩展(转换数组类型) Array.from($('li'));
• 函数的扩展(扩展运算符) [1, 2].push(...[3, 4, 5]);
• 对象的扩展(同值相等算法) Object.is(NaN, NaN);
• 新增数据类型(Symbol) let uid = Symbol('uid');
• 新增数据结构(Map) let set = new Set([1, 2, 2, 3]);
• for…of循环 for(let val of arr){};
• Promise对象 var promise = new Promise(func);
• Generator函数 function* foo(x){yield x; return x*x;}
• 引入Class(类) class Foo {}
• 引入模块体系 export default func;
• 引入async函数[ES7]
9.MVVM的理解
• 一个model+view+viewModel框架
• 该开发模式主要体现在vue.js中
• M层:模型 代表数据模型,数据和业务逻辑都在Model中定义。
• V层:视图 代表UI视图,负责数据的展示
• VM层:VM是MVVM思想的核心,因为VM是V和M的调度者。 负责监听Model中数据的改变并且控制视图的更新
10.vue的双向数据绑定
• 数据变化更新视图,视图变化更新数据
进阶问题
1.vue全家桶vuex的作用
• vue全家桶:
• vue(整体架构) +  vuex(状态管理) +  vue-router(路由) +  vue_resource || axios(ajax请求) +  mint-UI(移动端UI框架库) || antd-vue(PC端UI框架库)
• react全家桶:
• react(整体架构) +  redux || mobx(状态管理) +  react-router(路由) +  axios(ajax请求) +  antd || react-material || antd-model(UI框架库)
2.做项目的时候遇到了什么问题?怎么解决的?
3.对于jquery和axios的理解
4.webpack如何使用?
5.谈谈你对前端工程化项目的理解?
6.后台数据展示到页面上的过程?
7.vuex 的理解
• 状态机,组件内的共享数据, 四个属性,提交突变,分发动作, map 四个辅助函数
8. promise
• 成功状态,失败状态, 一般封装异步函数,async
• 每一个 Promise 都有一个 .then 方法,这个方法接受两个参数,第一个是处理 resolved 状态的回调,一个是处理 rejected 状态的回调
问题
1.介绍 JavaScript 的原型,原型链?有什么特点?
• **原型:**
• 1.JavaScript 的所有对象中都包含了一个 [proto] 内部属性,这个属性所对应的就是该对象的原型
• 2. JavaScript 的函数对象,除了原型 [proto] 之外,还预置了 prototype 属性
• 3. 当函数对象作为构造函数创建实例时,该 prototype 属性值将被作为实例对象的原型 [proto]。
• **原型链:**
• 1. 当一个对象调用的属性/方法自身不存在时,就会去自己 [proto] 关联的前辈 prototype 对象上去找
• 2. 如果没找到,就会去该 prototype 原型 [proto] 关联的前辈 prototype 去找。依次类推,直到找到属性/方法或 undefined 为止。从而形成了所谓的“原型链”
• **原型特点:**
• JavaScript 对象是通过引用来传递的,当修改原型时,与之相关的对象也会继承这一改变
2. Javascript 如何实现继承?
• 1.构造函数绑定:使用 call 或 apply 方法,将父对象的构造函数绑定在子对象上
• function Cat(name,color){
•  Animal.apply(this, arguments);
•  this.name = name;
•  this.color = color;
• }
• 2.实例继承:将子对象的 prototype 指向父对象的一个实例
• Cat.prototype = new Animal();
• Cat.prototype.constructor = Cat;
• 3.拷贝继承:如果把父对象的所有属性和方法,拷贝进子对象
• function extend(Child, Parent) {
•    var p = Parent.prototype;
•    var c = Child.prototype;
•    for (var i in p) {
•     c[i] = p[i];
•    }
•    c.uber = p;
• }
• 4.原型继承:将子对象的 prototype 指向父对象的 prototype
• function extend(Child, Parent) {
• var F = function(){};
•  F.prototype = Parent.prototype;
•  Child.prototype = new F();
•  Child.prototype.constructor = Child;
•  Child.uber = Parent.prototype;
• }
• 5. ES6 语法糖 extends:class ColorPoint extends Point {}
• class ColorPoint extends Point {
• constructor(x, y, color) {
• super(x, y); // 调用父类的constructor(x, y)
• this.color = color;
• }
• toString() {
• return this.color + ' ' + super.toString(); // 调用父类的toString()
• }
• }
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/Yanzy12/interview.git
git@gitee.com:Yanzy12/interview.git
Yanzy12
interview
面试ti
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385