
javascript基础
propoet
这个作者很懒,什么都没留下…
展开
-
原型的五个规则
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 · 750 阅读 · 0 评论 -
异步
什么是单线程,和异步有什么关系单线程,只有一个线程,只能做一件事原因,避免DOM渲染的冲突,浏览器需要渲染DOM,js可以修改DOM,js执行的时候,浏览器DOM渲染会暂停解决方案,异步什么是event-loop事件轮询,js实现异步的具体解决方案同步代码,直接执行。异步函数先放在异步队列中待同步函数执行完毕,轮询执行异步队列的函数jquery deferre...原创 2018-12-21 10:19:20 · 180 阅读 · 0 评论 -
原型应用
原型的实际应用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 · 254 阅读 · 0 评论 -
chrome 监听touch类事件报错
document.addEventListener('touchstart',function (e) { //阻止默认事件 e.preventDefault() },{ passive: false }) document.addEventListener('touchstart', function(event) { // 判断...原创 2018-12-07 14:59:58 · 317 阅读 · 0 评论 -
闭包
1.什么是闭包函数嵌套函数,内部函数可以使用外部函数的参数和变量,外部函数的参数和白变量不会被垃圾回收机制收回 function fnWrap(arg) { var a =1 function fnInner() { console.log(a) console.log(arg) } ret...原创 2018-12-07 23:10:37 · 125 阅读 · 0 评论 -
js面向对象方式实现拖拽
&amp;lt;!DOCTYPE html&amp;gt;&amp;lt;html lang=&quot;en&quot;&amp;gt;&amp;lt;head&amp;gt; &amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt; &原创 2018-12-07 22:16:43 · 294 阅读 · 0 评论 -
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 · 151 阅读 · 0 评论 -
前端错误监控
前端错误的分类 即时运行错误:代码错误资源加载错误错误的捕获方式 即时运行错误:try catch window.onerror资源加载错误: Object.onerror, performance.getEntryies(), Error:事件捕获跨域的js运行错误捕获:1.在script标签添加crossorgin属性 2.设置js资源响应头,Access-Control-Al...原创 2018-09-07 11:10:01 · 149 阅读 · 0 评论 -
原型链和面向对象
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 · 134 阅读 · 0 评论 -
前端http协议知识点
1.特点简单快速:每个uri 是固定的灵活:通过一个http类型,可以完成不同数据类型的传递无连接:连接一次会断掉,不会保持连接无状态:没有记录状态,无法区分两次连接的身份2.http报文的组成部分请求报文:请求行:http方法,页面地址,http协议 版本请求头:key value空行:请求体:数据部分响应报文状态行响应头空行响应体3.h...原创 2018-09-06 17:50:08 · 1091 阅读 · 0 评论 -
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 · 124 阅读 · 0 评论 -
性能优化 基本策略
原则多使用内存缓存和其他方法减少cpu计算,减少网络请求入手加载页面和静态资源静态资源的合并和压缩静态资源缓存使用cdn,让资源加载更快使用ssr后端渲染,数据直接输出到html页面渲染css放前面,js放后面懒加载减少DOM查询,对DOM查询缓存减少DOM操作,多个操作尽量合并在一起时间节流尽早执行操作(DOMContentedLoaded)...原创 2018-09-06 00:23:37 · 255 阅读 · 0 评论 -
输入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 · 178 阅读 · 0 评论 -
练习题
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 · 97 阅读 · 0 评论 -
异步和单线程
1.异步和同步的区别异步不会阻塞程序运行同步阻塞程序运行何时需要异步:1.可能发生等待的情况 2.在等待的过程中不能阻塞程序的运行console.log(100)setTimeout(function(){ console.log(200)},1000)console.log(300)2.前端使用异步的场景定时任务 setTimeout setInterv...原创 2018-09-05 14:39:06 · 247 阅读 · 0 评论 -
作用域和闭包
1. 执行上下文范围:一段script 或者一个函数全局:变量定义,函数声明 (一段script)函数:变量定义,函数声明,this,arguments (函数)console.log(a) // undefinedvar a=100;fn('zs')//zs,namefunction fn(name){ age =20; console.log(name...原创 2018-09-05 12:38:58 · 127 阅读 · 0 评论 -
原型链继承的例子 和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 · 462 阅读 · 1 评论 -
es6知识点
开发环境 babel电脑有node环境,运行 npm initnpm 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 · 168 阅读 · 0 评论