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 :'
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 的应用都不快)
不适合游戏应用
- 其他的语言使用?