自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 异步

什么是单线程,和异步有什么关系 单线程,只有一个线程,只能做一件事 原因,避免DOM渲染的冲突,浏览器需要渲染DOM,js可以修改DOM,js执行的时候,浏览器DOM渲染会暂停 解决方案,异步 什么是event-loop 事件轮询,js实现异步的具体解决方案 同步代码,直接执行。 异步函数先放在异步队列中 待同步函数执行完毕,轮询执行异步队列的函数 jquery deferre...

2018-12-21 10:19:20 207

原创 原型应用

原型的实际应用 zepto中原型的使用 (function(window){ //空对象 var zepto = {} //构造函数 function Z (dom, selector) { var i, len = dom ? dom.length : 0 for (i = 0; i < len; i++){this...

2018-12-20 15:52:59 278

原创 es6知识点

开发环境 babel 电脑有node环境,运行 npm init npm install --save-dev babel-core babel-preset-es2015 babel-preset-latest 创建.babelrc文件{ "presets": ["es2015","latest"], "plugins": [] } npm install --global bab...

2018-12-10 23:36:17 191

原创 闭包

1.什么是闭包 函数嵌套函数,内部函数可以使用外部函数的参数和变量,外部函数的参数和白变量不会被垃圾回收机制收回 function fnWrap(arg) { var a =1 function fnInner() { console.log(a) console.log(arg) } ret...

2018-12-07 23:10:37 140

原创 js面向对象方式实现拖拽

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> &

2018-12-07 22:16:43 322

原创 js简单继承

function Person(name, sex) { this.name = name this.sex = sex } Person.prototype.showName = function () { console.log(this.name) } Person.prototype.showSex = fun...

2018-12-07 22:02:37 172

原创 chrome 监听touch类事件报错

document.addEventListener('touchstart',function (e) { //阻止默认事件 e.preventDefault() },{ passive: false }) document.addEventListener('touchstart', function(event) { // 判断...

2018-12-07 14:59:58 341

原创 前端错误监控

前端错误的分类 即时运行错误:代码错误 资源加载错误 错误的捕获方式 即时运行错误:try catch window.onerror 资源加载错误: Object.onerror, performance.getEntryies(), Error:事件捕获 跨域的js运行错误捕获:1.在script标签添加crossorgin属性 2.设置js资源响应头,Access-Control-Al...

2018-09-07 11:10:01 166

原创 原型链和面向对象

1.创建对象有几种方法 // 对象字面量 var o1 = {name:'o1'} var o11 = new Object({name:'011'}) // 构造函数 var M = new Function(){this.name=m} var m =new M() // 用对象的原型创建 var P={name:'o3'} var o3 = Object.create(P) 2.原型...

2018-09-06 23:28:52 148

原创 前端http协议知识点

1.特点 简单快速:每个uri 是固定的 灵活:通过一个http类型,可以完成不同数据类型的传递 无连接:连接一次会断掉,不会保持连接 无状态:没有记录状态,无法区分两次连接的身份 2.http报文的组成部分 请求报文: 请求行:http方法,页面地址,http协议 版本 请求头:key value 空行: 请求体:数据部分 响应报文 状态行 响应头 空行 响应体 3.h...

2018-09-06 17:50:08 1129

原创 DOM事件

DOM事件级别 DOM0:ele.onclick=function(){} DOM2:ele.addEventListener("click",function(){},false) DOM3:ele.addEventListener("keyup",function(){},false)// 增加事件类型 DOM事件模型 冒泡:从事件元素向上 捕获:从上到...

2018-09-06 16:09:25 150

原创 页面布局和css盒模型

1.页面布局练习 高度已知,写出三栏布局,其中左栏、右栏宽度各为300px 中间自适应 浮动 缺点:需要处理清除浮动 绝对定位 缺点:布局脱离文档流 flex 缺点:兼容性 表格布局 缺点:一栏超出高度,其他跟着超出 网格布局:兼容性 高度未知的情况下,只有flex和表格布局试用 2.css盒模型 基本概念 标准模型+IE模型 区别: 宽高计算不同, padding bord...

2018-09-06 10:43:53 193

原创 性能优化 基本策略

原则 多使用内存缓存和其他方法 减少cpu计算,减少网络请求 入手 加载页面和静态资源 静态资源的合并和压缩 静态资源缓存 使用cdn,让资源加载更快 使用ssr后端渲染,数据直接输出到html 页面渲染 css放前面,js放后面 懒加载 减少DOM查询,对DOM查询缓存 减少DOM操作,多个操作尽量合并在一起 时间节流 尽早执行操作(DOMContentedLoaded) ...

2018-09-06 00:23:37 286

原创 输入url 到页面渲染完成

1.输入url到html返回 浏览器根据DNS服务器获取ip地址 向这个ip地址发送http请求 服务器收到、处理并返回http请求 浏览器得到返回内容 2.页面渲染完成 根据html结构生成DOM Tree 根据css生成cssom 将DOM Tree 和cssom 结合,生成renderTree 根据renderTree开始渲染和展示 遇到script标签 会执行并阻塞渲染 ...

2018-09-06 00:02:33 212

原创 练习题

1.获取2018-10-26格式日期 function formatDate(dt){ if(!dt){ dt=new Date() } var year = dt.getFullYear() var month = dt.getMonth()+1 var date = dt.getDate(...

2018-09-05 15:47:41 126

原创 异步和单线程

1.异步和同步的区别 异步不会阻塞程序运行 同步阻塞程序运行 何时需要异步:1.可能发生等待的情况 2.在等待的过程中不能阻塞程序的运行 console.log(100) setTimeout(function(){ console.log(200) },1000) console.log(300) 2.前端使用异步的场景 定时任务 setTimeout setInterv...

2018-09-05 14:39:06 270

原创 作用域和闭包

1. 执行上下文 范围:一段script 或者一个函数 全局:变量定义,函数声明 (一段script) 函数:变量定义,函数声明,this,arguments (函数) console.log(a) // undefined var a=100; fn('zs')//zs,name function fn(name){ age =20; console.log(name...

2018-09-05 12:38:58 145

原创 原型链继承的例子 和new 一个对象的过程

1.原型链继承 function Elem(id){ this.elem = document.getElementById(id) } Elem.prototype.html=function(val){ var elem = this.elem; if(val){ elem.innerHTML=val; return this// 链式...

2018-09-05 00:30:21 491 1

原创 原型的五个规则

1.所有引用类型(数组,对象,函数),都具有对象特性,即可自由扩展属性 var obj = {} obj.a=100; var arr =[] arr.a =100; function fn(){} fn.a=100; 2. 所有的引用类型,都有一个proto属性,属性值是一个普通对象 console.log(obj.__proto__); ```ruby console.log...

2018-09-04 23:46:10 782

原创 正则表达式

1.正则表达式的匹配规则 在Pattern类中有正则表达式的的规则定义,正则表达式中明确区分大小写字母. 表达式的语法规则: 字符:x 含义:代表的是字符x 例如:匹配规则为 "a",那么需要匹配的字符串内容就是 ”a”   字符:\\ 含义:代表的是反斜线字符'\' 例如:匹配规则为"\\" ,那么需要匹配的字符串内容就是 ”\”   字符:\t 含义:制表符 例如:匹...

2018-07-29 16:25:54 132

原创 弹性盒模型中子元素中文本的溢出隐藏

弹性盒模型中,子元素文本的溢出隐藏(以省略号结尾)会出现问题,并不能正常的截断文本,并以省略号结尾。经过查阅资料解决上述问题 可以在 flex:1 的元素上加上 width:0 或者min-width:0 ....

2018-06-29 12:51:48 2740 1

原创 js数组中的迭代方法

ECMAScript5 为数组定义5个迭代方法。每个方法都接收两个参数:要在每一项上运行的函数和运行改函数的作用域对象-影响this的值。传入这些方法中的函数会接收三个参数:数组项的值(item)、该项在数组中的位置(index)和数组对象本身(array)。 以下方法都不会修改数组中包含的值every() 对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true。 var

2017-10-20 17:18:42 310

原创 js中数组的操作方法

1.concat 不会修改原数组, (连接) 这个方法会先创建当前数组的一个副本,然后将接收到的参数添加到这个副本的末尾,最后返回新创建的数组。 没有给concat()方法传递参数,它只是复制当前数组并返回副本。 传递的参数是一个或者多个数组,会将这些数组中的每一项都添加到结果数组中 传递的参数不是数组,这些值就会被简单的添加到数组结果的末尾 var colors=["red","green","b

2017-10-20 10:46:59 275

原创 js中数组的栈方法和队列方法

1.栈方法ECMAScript数组提供了一种让数组的行为类似于其他数据结构的方法。具体来说,数组可以表现的就像栈一样(栈是一种可以限制插入和删除的数据结构)。 栈是一种LIFO(Last-In-First-Out,后进先出)的数据结构。栈中项的插入和移除只发生再一个位置,就是栈的顶部。ECMAScript为数组专门提供了push()和pop()方法,实现类似栈的行为。push()向数组末尾添加项,

2017-10-20 09:44:12 576

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除