美文网首页
JS一些总结

JS一些总结

作者: 海棠未雨 | 来源:发表于2018-05-30 10:56 被阅读9次

JS高级总复习

Javascript基础复习

面向对象

  • 把解决问题的重点放在解决问题相关的对象上
  • 封装/继承/多态
  • 对象:无序的键值对
    1. 属性:数值类型的
    2. 方法:函数类型的
  • 创建对象的方法
    1. 字面量:用完之后不可复用
    2. 内置对象创建:a)创建的是空对象,需要手动添加属性 b)动态特性:创建好对象后,可以给对象添加属性和方法
    3. 工厂函数:定义一个对象,给他动态添加属性,返回
    4. 自定义构造函数:a)也是函数的一种,一般用来初始化对象  b)和new一起出现,new创建一个对象,构造函数初始化对象  c)返回new创建的对象  d)如果return的基本类型,不影响,仍返回new对象 / 返回Object类型,返回这个Object
    5. 自定义构造函数的执行过程:a)先使用new创建对象  b)把new创建出来的对象交给构造函数的this
        c) 在构造函数内部通过this给对象封装方法
  • 原型
    1. 在构造函数创建出来的时候默认会创建一个与对象与之关联,这个对象就是原型对象
    2. 访问 构造函数.prototype / 对象._ proto _
    3. 原型的使用:直接替换/混入式添加属性和方法/经典继承
    4. 原型链:每个对象都有原型对象,原型对象又有原型对象

Function

  • 创建函数

递归

  • 化归思想
  • 案例:求和、阶乘、斐波那契数列、获取所有页面节点

作用域

  • 词法作用域
  • 变量提升
  • JS执行阶段
    1. 预解析阶段
    2. 执行阶段

作用域链

  • 外部无法访问内部作用域
  • 内部可访问外部

闭包

  • 封闭的对外不公开的空间
  • 外面访问不到
  • 外部访问只能通过内部的接口
  • 作用:保护数据
  • 案例:返回多个值/设置及获取、歌曲播放列表、解决斐波那契数列问题、闭包对缓存实现了一个保护作用
  • jQuery实现缓存
    1. 定义一个对象存储数据
    2. 定义一个数组存储键:a)记录顺序  b)记录长度,超容量判断

沙箱模式

  • 一个封闭的对外隔离的环境
  • 避免外界窃取内部的数据
  • 使用自调用(IIFE)函数实现
  • 限制作用域
  • 自调用函数没有名字
  • 代码结构
    1. 最上面:定义变量
    2. 中间:逻辑代码
    3. 下面:暴露接口(有利于代码压缩)
      1.最后及加上window
      2.给函数一个形参
      3.形参.变量 = 变量
  • 作业:封装第三方插件、封装框架

函数调用模式

  • 函数调用模式
    1. this指向window
  • 方法调用模式
    1. this指向与之关联的对象
  • 构造函数调用模式
    1. this指向new创建的对象
  • 上下文调用模式
    1. call(对象,[],[],..[])
    2. apply(对象,[])
      1. 可以用apply实现借用构造函数
      2. 在当前函数使用其他函数.apply()

注册事件兼容性

  • addEventListenter(事件,处理函数)
  • attachEvent(on 事件,处理函数)
    1. 回调函数的this的指向与其他两个不同
  • on事件 = 处理函数
  • 案例:
    1. 歌曲管理案例
      1. 方法写在原型
      2. 属性写在构造函数内
    2. Tab栏切换案例

相关文章

  • 一些高级js用法

    最近在学习js,总结了一些高级js用法

  • 私人tool.js

    个人总结的一些js工具代码

  • 前端面试必问总结

    前言 本文用于总结个人在工作期间总结的一些面试题 题目列表 js的函数声明 js的原型链 js的闭包 js的Pro...

  • D3js入门 --- 柱状图的制作

    D3js官网:https://d3js.org/最近在研究D3js,索性总结一些文档出来,来总结一周以来的学习心得...

  • JS一些总结

    JS高级总复习 Javascript基础复习 面向对象 把解决问题的重点放在解决问题相关的对象上 封装/继承/多态...

  • Js一些总结

    Web标准 :结构 表现 行为 选择器权重 improtant>style>class>element>* 浏览器...

  • 2017/01/13

    今天学习了mock.js里的一些方法,总结如下: 必须引用mock.js源码,然后var Mock = requi...

  • 2017/3/27

    总结一下关于date的一些静态方法: 原生: moment.js

  • JavaScript小技巧----持续更新

    经常使用的一些js奇技淫巧总结 1. boolean类型强转

  • js数组常用方法整理

    js数组常用方法整理 标签:js 数组 前言:这篇文章主要是一些归纳总结,大部分参考的是MDN的程序,也加了一些自...

网友评论

      本文标题:JS一些总结

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