js
ruantianqing
.....
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
promise async await
首先定义一个函数 let func1 = () => new Promise((resolve, reject) => setTimeout(() => resolve(12345), 1000)) 函数func1执行的时候,会返回一个promise对象 let func1 = () => new Promise((resolve, reject) => setTimeout(() => resolve(12345), 1000)) let result = fun.原创 2021-01-20 16:57:42 · 251 阅读 · 0 评论 -
事件委托
事件委托 对于每一个元素我们都要绑定一个事件,这样对于资源开销很大,对于每一个类元素都要for循环遍历一次,开发成本高,所以可以用事件委托来解决上面的问题 事件委托:将所有元素的事件绑定委托给同一个父元素,根据事件冒泡捕获机制,可以在父元素绑定事件中获取的触发事件的这个元素,根据这个元素具有的某类特征(例如元素名称,元素id,元素类,元素属性等待)做不同的处理,实现事件从父元素到被委托的元素传递,其特点: 减少事件数量 预言未来元素:新增的元素也可以绑定事件 避免内存外泄:通常创建一个对象需要占用一些内存原创 2021-01-19 12:20:14 · 1121 阅读 · 0 评论 -
观察者模式,发布订阅者模式
1 观察者模式 定义:观察者模式,又叫发布订阅者模式,又叫消息系统,又叫消息机制,又叫自定义事件,解决主体与观察者之间的耦合问题。 观察者模式是一个行为型设计模式 特点: 1 解决的是耦合问题(类与类之间,对象之间,类与对象之间,模块之间) 2 对于任何一个观察者来说,其它观察者的改变不会影响自身 3 对于任何一个对象来说,既可以是观察者,也可以是被观察者 如:jQuery中的观察者模式。$.CallBack()方法执行的结果得到一个观察者对象,观察者对象有一个方法叫add,用来订阅消息的。观察对象有一个原创 2021-01-19 11:29:39 · 194 阅读 · 0 评论 -
单例模式
1 单例模式 定义:是能被实例化一次的类或者对象(只能存在一个) 特点: 只允许实例化一次的对象类 对于十分复杂的对象类,往往可以节省资源占用 通常也被用来管理命名空间 作用:管理命名空间,管理数据,方法的存储 应用: 一些代码库中命名空间就是通过单例模式实现的 管理数据的存储,例如模拟静态变量 <script> // 定义,只能实例化一次 // 有时候不允许外界访问 // 放在闭包中 var single = (fun原创 2021-01-19 11:20:11 · 121 阅读 · 1 评论 -
详解Object.create(null)(转载自https://juejin.cn/post/6844903589815517192)
** (转载自https://juejin.cn/post/6844903589815517192) ** Object.create()、{…}的区别 先看看我们经常使用的{}创建的对象是什么样子的: var o = {a:1}; console.log(o) 在chrome控制台打印如下: 从上图可以看到,新创建的对象继承了Object自身的方法,如hasOwnProperty、toString等,在新对象上可以直接使用。 再看看使用Object.create()创建对象: var o = Obje转载 2021-01-19 10:39:04 · 735 阅读 · 0 评论 -
节流和防抖函数,函数的节流和防抖
1 基于操作的节流,防抖 定义函数,绑定滚动事件 var num = 0; function demo(){ console.log(++num); } // 基于操作的节流,防抖 // 定义定时器句柄 var timebar // 高频事件 window.onscroll = function(){ // 基于操作的,在高频事件中,执行最后一次 // 将函数放在定时器中,每次触发事件,取消执行,直到最后一次,滚动事件停止的时候执行一次 clearTimeout(ti原创 2021-01-18 22:05:08 · 315 阅读 · 0 评论 -
jquery实现轮播图
html <div class="list"> <div class="content"> <img src="./image/1.jpg" alt=""> <img src="./image/2.jpg" alt=""> <img src="./image/3.jpg" alt=""> <img src="./image/原创 2021-01-18 17:52:44 · 128 阅读 · 0 评论 -
jsonp跨域
跨域 域与跨域 域:指的是域名 域名对应的是一个ip地址 域名与ip地址的关系存储在域名解析系统中(DNS) 跨域 例如:有一个服务器A,有一个服务器B,当浏览器从服务器A上面请求资源并渲染完毕之后,再操作该页面的时候发送了另一个请求到服务器B,这个行为就称为跨域请求资源 跨域鉴定 当前域是http://localost:3000,当请求回来的页面中,又向其它服务器上请求资源: 不跨域 url: 'http://localost:3000/regist?username=name', 跨域原创 2021-01-14 21:48:32 · 171 阅读 · 0 评论 -
ES6
let关键字 用来定义块作用域变量的 var定义函数级作用域变量 在函数内部定义的变量,外部无法访问 在代码块(if, for等)中定义的变量,外部可以访问 let定义块作用域变量的: 在函数内部定义的变量,外部无法访问, 在代码块(if, for等)中定义的变量,外部仍然无法访问 let与var比较 作用域 var函数级作用域 let块级作用域 重复定义 var可以重复定义变量 let不可以重复定义变量 声明前置 var支持声明前置原创 2021-01-06 12:38:40 · 259 阅读 · 0 评论 -
ES5
1 JSON–parse 将json字符串解析成js对象 使用方式:parse(str, fn) str 处理的字符串 fn 回调函数 返回值表示这次处理的结果 第一个参数表示属性名称 第二个参数表示属性值 this指向当前遍历的对象 是从叶子节点到根节点的方向遍历的,从外部向内部遍历 var str = '{"a": 1, "b": "2", "c": { "d": 4 }}'; // 从叶子节点到根节点方向遍历的,由内到外遍历的 // 解析成对象,转换的过程中加一个函数,可以对里面的属性做处理 var原创 2021-01-06 12:20:56 · 319 阅读 · 0 评论 -
原生js实现选项卡
1 html <div id="app" class="app"> <div class="header"> <span class="choose">精选</span> <span>社会</span> <span>娱乐</span> <span>体育</span>原创 2021-01-18 15:33:15 · 305 阅读 · 0 评论 -
正则表达式
正则表达式 正则表达式(regular expression-RegExp):是被用来匹配字符串中的字符组合的模式,是最简单的数据(字符串)验证方法,常用表单的验证 创建方法:使用正则字面量,/表达式/ 正则数据类型:引用数据类型,因此也提供了一些方法 正则方法 exec() 用来将首次匹配到的字符串以数组方式输出,没有全局匹配 没有返回条件的将返回null test() 用于检测字符串中是否含有正则表达式匹配的字符串 返回值:含有返回true,不含返回false <原创 2021-01-18 09:18:50 · 130 阅读 · 0 评论 -
js 时间转换标准格式、时间戳转换标准格式
一、当前时间转换为标准格式: function getFormatDate() { var date = new Date(); var month = date.getMonth() + 1; var day = date.getDate(); var hour = date.getHours(); var minutes = date.getMinutes(); var seconds = date.getSeconds(); month = (m转载 2021-01-13 10:05:58 · 3141 阅读 · 0 评论
分享