SunQI's Blog

SunQI


  • 首页

  • 标签

  • 分类

  • 归档

  • 关于

react的生命周期

发表于 2017-07-08 | 分类于 react | 阅读次数:

react的生命周期图

react的生命周期

阅读全文 »

使用webpack自动管理工具管理项目

发表于 2017-05-20 | 分类于 webpack | 阅读次数:

什么是webpack

本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle。

起步

1 必须需要node环境
2 项目初始化 npm init
3 新建并配置webpack.config.js 文件。

webpack的核心

1 入口(entry)
2 输出(output)
3 loader
4 插件(plugins)

阅读全文 »

分布式版本控制系统git的简单使用

发表于 2017-04-20 | 分类于 git | 阅读次数:

git简介

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。  

Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。  

git起步

  • git初始化
    *git init
  • 添加到本地仓库
    • git add *表示添加全部的文件。
  • 提交

    • git commit -m \”本次提交的描述\”
      阅读全文 »

是时候规范一下Markdown文本的书写了

发表于 2016-11-27 | 分类于 Markdown | 阅读次数:

说明

Markdowm 介绍

轻量级标记语言(html、xml),2004 年被 John Gruber 创造,
它允许人们“使用易读易写的纯文本格式编写文档”,
Markdown 最重要的设计就是可读性, Markdown 可以选择性的转换为 HTML 文档格式,
很多网站目前都使用了 Markdown 或者其变种,例如Github、简书等大型社区。

阅读全文 »

javascript原生框架(七)--动画模块

发表于 2016-11-25 | 分类于 javascrip框架 | 阅读次数:

匀速直线动画

  1. 固定时间
  2. 固定距离
  3. 如何判定动画结束的时机?
    • 使用时间来判断是否结束动画。
    • 如果动画时间到达了 指定的时间,那么就结束动画,并且让动画元素到达终点
  4. 实现思路
    • 定义动画函数,animate函数。当调用animate函数时,即动画开始的时间
    • 定义render函数,用来给动画元素设置 属性值
      • 计算当前动画元素所在的位置,然后累计到其对应属性值上。
      • 首先计算动画的时间间隔
      • 如果时间间隔大于或等于指定的总时间,那么就停止动画并设置动画元素到达终点
      • 否则,根据速度,动画时间间隔计算出位移。在将其与起始位置累加后赋值给elem
    • 定义定时器,开始动画
阅读全文 »

javascript原生框架(六)--事件处理

发表于 2016-11-23 | 分类于 javascrip框架 | 阅读次数:

事件绑定

  1. DOM0方式

    • 通过dom元素的(on + 事件名称)属性来绑定事件,并且赋值为 一个字符串
    • 上述字符串为 执行该事件的代码块(逻辑)
    • 缺点: 可读性 以及 可维护性不好。
  2. DOM0方式的加强版

    • 通过dom元素的(on + 事件名称)属性来绑定事件,并且赋值为 事件处理函数
    • 缺点: 定义很多的全局函数,容易造成内存过大损耗。依然没有解决js代码 和 html的耦合度问题
阅读全文 »

javascript原生框架(五)--文档处理模块

发表于 2016-11-22 | 分类于 javascrip框架 | 阅读次数:

appendTo方法

  • 语法:.appendTo(target)
    • target类型 选择器、dom元素、dom数组
    • 统一target类型 为 moyas对象:为了方便操作
  • 实现思路
    • 统一target类型,定义新增节点变量node,临时存储要分配的节点
    • 定义ret数组变量,用来存储总共分配出去的节点
    • 遍历this上的每一个dom元素,在遍历target上的每一个dom元素
    • 首先判断当前dom元素是否为target上的第一个dom元素
    • 如果为真,就不克隆节点,直接将要被添加的节点赋值给node
    • 如果为假,就要深克隆节点,在赋值给node
    • 使用遍历target当前的dom元素 追加 指定节点node
    • 两层循环结束,操作完成。
    • 最后将ret转换成moyas对象,作为appendTo方法的返回值。实现链式编程
阅读全文 »

javascript原生框架(四)--属性模块

发表于 2016-11-20 | 分类于 javascrip框架 | 阅读次数:

1.attr方法
2.html方法
3.text方法
4.val方法
5.prop方法

attr方法:(setAttribute 和 getAttribute)

  1. 功能:获取(设置)属性节点值
  2. 实现思路
    • 给原型添加attr方法,定义两个参数:属性节点名字name 以及 属性节点值
    • 如果只传入一个参数
      • 如果参数类型为对象,表示设置多个属性节点值
      • 否则,获取指定的属性节点值(默认获取第一个dom元素的属性节点值)
    • 如果传入两个参数,表示设置单个属性节点值。
阅读全文 »

js异常处理

发表于 2016-11-20 | 分类于 javascrip | 阅读次数:

#异常处理

##常见的异常分类

  • 运行环境的多样性导致的异常(浏览器)
  • 语法错误,代码错误

异常最大的特征,就是一旦代码出现异常,后面的代码就不会再执行

##异常捕获

捕获异常,使用try-catch语句

1
2
3
4
5
6
try{
//这里写可能出现异常的代码
}catch(e){
//这里的e就是捕获的异常对象
//可以在这里写,出现异常后的处理代码
}

阅读全文 »

javascript原生框架(八)--ajax异步请求和jsonp跨域

发表于 2016-11-19 | 分类于 javascrip框架 | 阅读次数:

Ajax请求流程

  1. 创建一个请求对象

  2. 格式化数据

    • 将格式化后的数据,参数与值都要重新编码
  3. 与服务器建立连接

  4. 监听请求状态

  5. 发送请求

阅读全文 »
12
SunQI

SunQI

请相信,这里的一切都是错的.

15 日志
6 分类
13 标签
RSS
© 2018 SunQI
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.4