240 发简信
IP属地:台湾
  • 120
    React原理(一):动手实现React.createElement和ReactDOM.render

    首先我们来看一个最简单的hello world例子 在babel中转化为如下代码 打印App(),返回的对象就是一个虚拟DOM 实现React.createElement 通...

  • 120
    浏览器的工作原理

    从url到页面发生了什么?对这个经典问题,在搜索引擎中能找到无数个答案这篇文章也是我对这个问题的一个阶段性总结写博客的方式也从复制粘贴转变到自己分析归纳总结用户打开浏览器,输...

  • 从原型继承到ES6 class语法

    原型 在面向对象的文章中提过的一种设计模式-组合使用构造函数模式和原型模式 构造函数用于定义实例属性,原型模式用于定义方法和共享属性 ES6引入了Calss这个概念,作为对象...

  • 从闭包到es6变量声明

    之前学习闭包的时候碰到一道题 var声明的变量没有块级作用域。所以实际上这里的i实际上是定义在全局作用域下的 console.log(window.i) //10 函数在循环...

  • Vue组件学习笔记

    组件用法 全局注册Vue.component('my-component', { //选项})缺点:权限太大,容错率低 局部注册new Vue({ el: '#a...

  • 120
    面向对象的程序设计

    构造函数模式 new 操作符创建一个新对象将构造函数的作用域赋给新对象(this指向新对象)执行构造函数中的代码(为这个新对象添加属性)返回新对象构造函数创建的对象有全新的作...

  • 函数防抖与函数节流

    函数防抖(debounce) 原理:在事件被触发n秒后再执行回调,如果在这n秒内又被触发,则重新计时。 函数节流(throttle) 原理: 规定一个单位时间,在这个单位时间...

  • 120
    js获取元素位置

    今天碰到了2个问题: 如何判断页面滚动到底部? 如何判断元素出现在视窗中? 老规矩先打开 MDN 看完一系列属性一大串的文字解释,一脸懵逼。不但没看懂,还把自己看晕了然后我翻...

  • jQuery动画队列

    当在jQuery对象上调用动画方法时,如果对象正在执行某个动画效果,那么新调用的动画方法就会被添加到动画队列中,jQuery会按顺序依次执行动画队列的每个动画。可是如果用户的...

  • 同源策略及跨域解决方案

    浏览器的同源策略 同源策略限制了从一个源加载的文档和脚本如何与另外一个源的资源进行交互( 对于当前页面来说页面存放的 JS 文件的域不重要,重要的是加载该 JS 页面所在什么...

  • HTML, CSS编码规范

    HTML 语义与呈现分离将元素的语义与元素对其内容呈现结果的影响分开 元素选用原则少即是多(less is more)标记只应该应内容对语义的需要使用。tips:问问自己打算...

  • 理解JavaScript运行机制(单线程、异步模式)

    在之前的博客中,我们认识了浏览器是如何渲染页面的?。今天来学习JavaScript在浏览器中的运行机制。 浏览器的渲染进程是多线程的 GUI渲染进程负责渲染浏览器界面,解析H...

  • 数组方法的总结

    检测数组 Array.isArray() 用于确定传递的值是否是一个数组.返回布尔值 转换方法 tostring() toString() 返回由数组中每个值的字符串形式拼接...

  • 理解执行环境和作用域

    执行环境/执行上下文(Execution Context) 执行环境定义了变量或函数有权访问的数据。 每个执行环境都有一个与之关联的变量对象(variable object)...

  • 认识JS隐式类型转换

    先来看看几个例子 因为js比较灵活和宽容,所以在一些操作符下其数据类型会做一下类型转换再计算而不是报错。if(xxx) 判断和 == +都是比较常见的存在隐式类型转换的操作,...