美文网首页
知识点梳理

知识点梳理

作者: 小雨雪smile | 来源:发表于2018-08-27 10:30 被阅读20次

html&css

  • 浏览器内核差异
  • 移动端的点击事件的有延迟,时间是多久,为什么会有? 怎么解决这个延时?(click 有 300ms 延迟,为了实现safari的双击事件的设计,浏览器要知道你是不是要双击操作。)
  • 盒子模型 外边距、内边距和边框之间的关系,及IE8以下版本的浏览器中的盒模型

js相关

  • js 数据类型及判断方法
    null, undefined,bool,number,string,object,symbol(es6 新增)
    1.typeof()出来的没有null 对象,数组和null typeof(x) = "object"
    2.instanceof() 对象的原型是否在对象的原型链上
    如下:判断Person的原型是否在p的原型链上
function Person(){};
var p =new Person();
console.log(p instanceof Person);//true
  • 关于闭包 什么是闭包 为什么会产生 作用 弊端
  • 介绍一下你所了解的作用域链
  • 是否知道自定义事件。jQuery里的fire函数是什么意思,什么时候用?
  • jquery.extend 与 jquery.fn.extend的区别?
  • js的冒泡(Bubbling Event)和捕获(Capture Event)的区别


    冒泡和捕获

    假设一个元素div,它有一个下级元素p

<div>
  <p>元素</p>
</div>

这两个元素都绑定了click事件,如果用户点击了p:

事件捕获
当你使用事件捕获时,父级元素先触发,子级元素后触发,即div先触发,p后触发。

事件冒泡
当你使用事件冒泡时,子级元素先触发,父级元素后触发,即p先触发,div后触发。

addEventListener函数,它有三个参数,第三个参数若是true,则表示采用事件捕获,若是false,则表示采用事件冒泡。不传值默认是false。
IE只支持事件冒泡,不支持事件捕获。

阻止冒泡
• 在W3c中,使用stopPropagation()方法
• 在IE下设置oEvent.cancelBubble = true;

阻止捕获
阻止事件的默认行为,例如click <a>后的跳转
• 在W3c中,使用oEvent.preventDefault()方法;
• 在IE下设置window.event.returnValue = false;

  • ["1", "2", "3"].map(parseInt) 答案是多少?

  • 冒泡排序、快速排序、去重、查找字符串最多值

//冒泡排序
var bubbleSort = function(arr) {
   for (var i = 0; i < arr.length-1; i++) {
     for (var j = i+1; j < arr.length; j++) {
       if (arr[i]>arr[j]) {
         var temp = arr[i];
         arr[i] = arr[j];
         arr[j] = temp;
       }
     }
   }
   return arr;
};
//快速排序
var quickSort = function(arr) {
  if (arr.length <= 1) {
    return arr;
  }
  var len = arr.length;
  var midIndex = Math.floor(len/2);
  var mid = arr.splice(midIndex,1);
  var left = [];
  var right = [];
  for (var i = 0; i < arr.length; i++) {
    if (arr[i] < mid) {
      left.push(arr[i]);
    } else {
      right.push(arr[i]);
    }
  }
  return quickSort(left).concat(mid,quickSort(right))
}
// 去重
 var distinct = function(arr) {
   var map = {};
   var result = [];
   for (var i = 0; i < arr.length; i++) {
      if (!map[arr[i]]) {
        map[arr[i]] = true;
        result.push(arr[i]);
      }
   }
   return result;
 }
//查找字符串中最多的值
var search = function(str) {
  var json = {};
  var max = 0;
  var char;
  for (var i = 0; i < str.length; i++) {
    if (!json[str[i]]) {
      json[str[i]]=1;
    } else {
      json[str[i]]++;
    }
  }
  console.log(json);
  for(var i in json){
        if(json[i]>max){
                max = json[i];
                char = i;
        }
}
  console.log(max, char);
}

流行框架(angular vue react)

1.设计模式(设计思想)是什么?什么是MVVM?MVVM和MVC区别?它和其它框架(jquery)的区别是什么?哪些场景适合?
MVVM是Model-View-ViewModel的缩写。MVVM是一种设计思想。Model 层代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑;View 代表UI 组件,它负责将数据模型转化成UI 展现出来,ViewModel 是一个同步View 和 Model的对象。

在MVVM架构下,View 和 Model 之间并没有直接的联系,而是通过ViewModel进行交互,Model 和 ViewModel 之间的交互是双向的, 因此View 数据的变化会同步到Model中,而Model 数据的变化也会立即反应到View 上。

ViewModel 通过双向数据绑定把 View 层和 Model 层连接了起来,而View 和 Model 之间的同步工作完全是自动的,无需人为干涉,因此开发者只需关注业务逻辑,不需要手动操作DOM, 不需要关注数据状态的同步问题,复杂的数据状态维护完全由 MVVM 来统一管理。

mvc和mvvm其实区别并不大。都是一种设计思想。主要就是mvc中Controller演变成mvvm中的viewModel。mvvm主要解决了mvc中大量的DOM 操作使页面渲染性能降低,加载速度变慢,影响用户体验。

区别:vue数据驱动,通过数据来显示视图层而不是节点操作。
场景:数据操作比较多的场景,更加便捷

  • vue生命周期总共有几个阶段
    可以总共分为8个阶段:创建前/后, 载入前/后,更新前/后,销毁前/销毁后

生命周期钩子的一些使用方法:
beforecreate : 可以在这加个loading事件,在加载实例时触发
created : 初始化完成时的事件写在这里,如在这结束loading事件,异步请求也适宜在这里调用
mounted : 挂载元素,获取到DOM节点
updated : 如果对数据统一处理,在这里写上相应函数
beforeDestroy : 可以做一个确认停止事件的确认框
nextTick : 更新数据后立即操作dom

  • 第一次页面加载会触发哪几个钩子
    第一次页面加载时会触发 beforeCreate, created, beforeMount, mounted 这几个钩子
  • VUE 组件之间的传值?
    父组件与子组件传值
    父组件通过标签上面定义传值
    子组件通过props方法接受数据
    子组件向父组件传递数据
    子组件通过$emit方法传递参数

  • (1)vuex是什么?怎么使用?哪种功能场景使用它?
    vue框架中状态管理。在main.js引入store,注入。新建一个目录store,….. export 。场景有:单页应用中,组件之间的状态。音乐播放、登录状态、加入购物车

  • (2)vuex有哪几种属性?
    有五种,分别是 State、 Getter、Mutation 、Action、 Module

  • vue-router有哪几种导航钩子?
    三种,一种是全局导航钩子:router.beforeEach(to,from,next),作用:跳转前进行判断拦截。
    第二种:组件内的钩子;
    第三种:单独路由独享组件

工具使用

  • gulp webpack的区别 使用方法 常用插件
  • svn与git的区别 常用的命令 解决冲突

理论知识

  • 关于http协议
  • 如何解决跨域问题(jsonp nginx代理)
  • 项目优化的方案

知识拓展

  • 是否了解公钥加密和私钥加密。
  • AMD(Modules/Asynchronous-Definition)、CMD(Common Module Definition)规范区别?
  • requireJS的核心原理是什么?(如何动态加载的?如何避免多次加载的?如何缓存的?)

相关文章

  • SpringMVC 的相关知识梳理

    1. SpringMVC的知识脉络 SpringMVC知识点梳理SpringMVC知识点梳理 官网网址:http...

  • 读书分享

    【一】知识点梳理:3个知识点 【二】读书分享:《成功,动机与目标》 【一】知识点梳理: 1、可转债上市当天怎么停牌...

  • 12组➕14号➕大老爷 第二十课作业 #裂变增长实验室#

    今日作业:梳理依然不会的知识点,找组员找组长找老师解决,写结果 关于梳理不会的知识点,我觉得我不会的知识点太多了,...

  • 2018-11-28

    一、做了啥 01app内容知识点(生涯小组)梳理会议:梳理主干知识点内容 02微信选题收集、上传 03...

  • 程序的编译和执行

    知识点梳理 源程序经过预处理、

  • 七月进度打卡(日更)

    28周 7.4 高数7.1-7.5知识点梳理 7.5 高数7.6-7.9知识点梳理,第七章框图 7.6 高数...

  • 完整的整合营销传播套路梳理

    每天学习一个营销知识点,每天梳理营销知识点,每天分享一个营销知识点。 今天梳理下整合营销传播的整体构建框架怎么做?...

  • 知识点梳理

    html&css 浏览器内核差异 移动端的点击事件的有延迟,时间是多久,为什么会有? 怎么解决这个延时?(clic...

  • 知识点梳理

    1.ECMAScript和javaScript的关系 可简单概括为:ECMAScript是JavaScript的规...

  • 知识点梳理

    小数的意义和性质是小学数学中非常重要的内容, 本周学习了以下知识点: 一、小数的意义 小数是十进制分数的另外一种表...

网友评论

      本文标题:知识点梳理

      本文链接:https://www.haomeiwen.com/subject/isabiftx.html