记录01

222 阅读4分钟

1

  • 插件富文本编辑器的高宽是否可以定?

  • vue角色管理怎么设计?管理员超级管理员? 若走数据库,那么超级管理员的作用呢??

  • vue-router原理设计与替代方案?

  • 路由的钩子函数?使用场景?

  • pc端和WAP端的区别,line-height的集中20px?

  • vue和jquery的区别?vue的设计思想?

  • vue中v-for带key 不带key的区别? 怎么渲染列表的呢?

  • jquery原理?源码?符合可以替换吗?重写API方法设计?

  • Echarts的基础使用上的扩展功能?

  • ES6语法: 原理,会不会报错。

字符串可不可以解构赋值? 可以,(简单的字符串是 类似数组的对象)

解构赋值的用途:

1》交换变量的值 var x,y ; 利用数组解构的方法进行交换: [x,y] = [y,x]

2》 从函数返回多个值 :返回数组、对象

function fun(){
    return [1,2,3]
}
var [x,y,z] = fun()
console.log(a)//1

3》提取json数据

var jsonData = {
    id:"007",
    name:"zhao",
    age:20,
    score:[100,90,89]
};
let{id:number,name,age,score.chinese} = jsonData;

const [a,b,c,d,e] = "Hello";
console.log(a); //H
console.log(b);//e
...
console.log(e);//o
将字符串“Hello”作为一个类似于数组的值进行解构赋值
a,b,c,d,e作为数组的几个下标值
const {length:len} = "Hello"
console.log(len); //5

const{length} = "Hello World"
console.log(length);//12
对于属性解构赋值,字符串类似于数组的对象,都有一个length属性
函数参数解构赋值
function sum([x,y]){
    return x+y;
}
console.log(sum([1,2]);//3
{
    var a =100;
    let b = 200;
    
}
console.log(a);//100
console.log(b);//error ,b is not defined
let 不存在变量提升
暂时性死区:只要块级作用域中存在let命令,所声明的该变量是有效的“绑定的”,不再受外部影响。  在let作用域内部,var声明的变量是无效的

**在同一个模块内部  :   var重复声明变量,后边覆盖前边
   但是若有重复的let声明的变量,会报错**
{
    console.log(a);// undefined ,在let之前的区域为“暂时性死区”
    let a = 100;
    console.log(a);//100
}

  • ES6块级作用域

ES5中,有两种 全局作用域 + 局部作用域 ;内部作用域会覆盖外部作用域,用于技术的循环变量泄漏为全局变量(循环变量结束,变量依然存在,内存占用)。

ES6 :块级作用域

<script type=”text/traceur”>
function fun(){console.log(“I am outside!”);}
(function(){
	if(false){
		function fun(){
			console.log(“I am inside!”);
		};
	};
	fun();	//I am outside!
})();
  • const const块级作用域,暂时性死区,不可重复声明, const对象
const person = {};
person.name = "zhangsan";
person.age = 30 ;
  • 全局对象属性 全局对象即为最顶层对象。

1)浏览器环境 ---window对象

2)Node.js ----global对象

3)Javascript ---所有全局变量都是全局对象的属性

ES6中规定的:属于全局对象的属性:var ,function声明的全局对象 不属于全局对象的属性:let const class 命令声明的全局对象

一、谈谈vue中的MVVM模式

MVVM全称:Model-View-ViewModel

Vue是以数据为驱动的,Vue自身将DOM 和数据进行绑定,一旦创建绑定,DOM和数据将保持同步, ViewModel是Vue的核心,实例,是某个id所指代的元素。

DOMListeners 和DataBindings 是实现双向绑定的关键。监控变化。同步变化。

二, v-show 和v-if指令的共同点和不同点?

v-show :通过display 的 none 或block

v-if: 通过销毁和重建DOM

三, keep-alive作用

keep-alive: 动态包裹组件,保留组件或避免重新渲染,频繁操作对象,从缓存中快速渲染

四, vue中引入组件的步骤?

1,采用ES6的import...from... 语法 或 CommonJS的require() 方法引入组件

2,组件注册:Vue.component('my-component',{ template :'

a custom component
' })

3,使用组件

五, 指令v-el的作用是什么?

提供一个在页面上已存在的DOM元素作为Vue实例的挂载目标,

六,vue-router有哪几种导航钩子?

1》全局导航钩子:router.beforeEach(to,from,next), 跳转前进行判断拦截

2》组件内的钩子

3》单独路由独享组件

七,scss是什么?在vue.cli中的安装使用步骤是?有哪几大特性?

css预编译

步骤:1,用npm下三个loader(sass-loader、css-loader、node-sass)

2,build目录中webpack.base.config.js,extends属性添加拓展.scss 并配置 一个module属性 3,组件的style标签加上lang属性,如:lang = “scss” 可以使用变量、混合器、嵌套

Canvas: JavaScript来绘制2D图形 ,按像素渲染

依赖分辨率

不支持事件处理器

弱的文本渲染能力

能够以 .png 或 .jpg 格式保存结果图像

最适合图像密集型的游戏,其中的许多对象会被频繁重绘

SVG: XML描述的2D语言,被绘制的图形是对象,属性变化,那么浏览器能够自动重现图形

不依赖分辨率

支持事件处理器

最适合带有大型渲染区域的应用程序(比如谷歌地图)

复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快)

不适合游戏应用

  • 其他的语言使用?