js
文章平均质量分 61
d lt's me
这个作者很懒,什么都没留下…
展开
-
service-worker系列
1. ServiceWorkerContainer service container 即navigator.serviceWorker对象 具有以下属性和方法 及事件一. 事件oncontrollerchange 事件, 触发时机: 当控制的sw脚本更新的时候触发onerror事件,当sw脚本传递信息失败时触发onmessage事件, 当service woker 工作scope是 通过postmessage传递信息触发二.方法register: 注册sw脚本 返回一个promis原创 2021-05-14 09:38:25 · 334 阅读 · 0 评论 -
js数组的reduce与reduceRight方法
数组由众多的实例方法,下面记录下reduce的使用方法arr.reduce(callback(accumulator, currentValue[, index[, array]])[, initialValue])reduce方法接受两个参数,其中initialvalue不是必须的callback有四个参数其中accumulator,currentValue 是必须的accumulator为累加器 初始值initialvalue 如果没提供则是数组的第一个值 返回值是accumulat...原创 2020-06-06 15:43:15 · 387 阅读 · 0 评论 -
利用css3与html5来制作3d爱心
首先:爱心的制作爱心的制作利用了css3的新增属性border-radius,border-radius的属性最多有8个值,例如:border-radius:10px 20px 30px 40px/10px 20px 30px 40px;斜杠之前代表上下左右的水平方向变化的圆角,之后代表上下左右的竖直方向变化的圆角,下面是一些例子:...原创 2018-06-09 13:18:29 · 2545 阅读 · 0 评论 -
简易计算器的制作
首先是显示页面的制作主要是css和HTML知识css: *{padding: 0; margin: 0;} table{ position: absolute; top:50%; left:50%; margin-top:-200px; margin-...原创 2018-06-10 14:05:26 · 1649 阅读 · 0 评论 -
HTML5 drag拖放过程详析
1,,,首先你要确定拖动元素:即你要让他能够拖动设置 draggable=“true”;2,,,你要知道你要拖动什么:这时候ondragstart要上场了,用它来设置要拖动的东西(属性)ondragstart=“function(event){ ev.dataTransfer.setData(“Text”,ev.target.id);}”dataTransfer.setData(...原创 2018-06-17 15:49:40 · 287 阅读 · 0 评论 -
JavaScript之单例模式
单例模式的概念顾名思义单例模式就是一个类中只有一个实例,在创建实例之前先判断是否有实例,如果已经有实例,直接返回。否则创建实例。这也确保了一个类只有一个实例。在JavaScript里,单例作为一个命名空间提供者,从全局命名空间里提供一个唯一的访问点来访问该对象。单例模式的作用和注意事项模式作用:1、模块间通信2、系统中某个类的对象只能存在一个3、保护自己的属性和方法注意...原创 2018-07-29 10:03:22 · 147 阅读 · 0 评论 -
获取浏览器的窗口的大小、浏览器视口的大小、页面的大小
浏览器的窗口: 打开浏览器时整个窗口的大小 随着用户的放大缩小而改变浏览器视口的大小: viewport就是视口的大小 随着用户的放大缩小而改变页面的大小: 页面的原始宽高 不会随着用户的操作而改变浏览器的窗口: 可通过window.outerWidth, window.outerHeight来获取浏览器视口的大小: // 需要判断浏览器使用的模式 if(do...原创 2020-04-11 18:54:41 · 623 阅读 · 0 评论 -
js中的几种继承方法
在这之前先t讨论下js中的址传递和值传递:值传递主要针对基本类型除null外 number undefined boolean string址传递 :针对复杂的类型数据 object array date function1.原型链继承 缺点:父实例与子实例共享了原型 方法 优点实现简单function person(name){ this.name=1}person.p...原创 2019-05-12 11:28:37 · 262 阅读 · 0 评论 -
js中的for..in for..of Object.keys()的区别
区别:for..in 遍历对象的可枚举属性包括自身属性与原型 的属性 Object.keys() 仅遍历对象自身的可枚举属性 for..of 是es6的新增的主要针对具有iterator接口的数据。例如array,set,map,var a = {b:1,c:2}for (let i in a){console.log(“键名...原创 2019-05-11 18:30:10 · 1309 阅读 · 0 评论 -
js中的typeof 与 instanceof
这两种方法主要判读基本类型和复杂类型的,js主要由六中基本类型:number string boolean null undefined symbol(es6新增的)使用typeof能够安全的操作基本数据除null之外(typeof null = “object”)复杂类型则需要用instanceoftypeof 处理复杂类型时仅有两种结果 ‘function’ ‘object’...原创 2019-05-11 18:16:10 · 171 阅读 · 0 评论 -
js 中bind方法源码解析
bind和apply、call方法一样都是改变调用者的this指向,唯一的区别就是bind()方法不立即执行下边是源码解析Function.prototype.binds=function(ctx){ var contex = ctx if(contex == null) consloe.log(new Error('error')); else{ var args...原创 2019-05-11 17:52:21 · 1361 阅读 · 1 评论 -
js中的call方法源码解析
call()方法的作用是改变函数里的this指向。例如:function func(){console.log(this.name)}var a ={ name : 'dudu'}func.call(a)//this指向对象 a此时输出 //dudu再看下面的代码//1var a = { name : 'dudu', fn : func...原创 2019-05-10 11:35:10 · 2334 阅读 · 6 评论 -
词法作用域和动态作用域
作用域分为词法作用域和动态作用域;而js采用的是词法作用域,即在函数定义的时候已经确定了它运行的作用域,函数运行在原始定义的作用域内而不是它的执行作用域内例如var value = 1;function aa(){var value = 2bb()}function bb(){console.log(value)//此时输出值为1}可以看出函数在定义时就已...原创 2019-05-09 16:30:27 · 174 阅读 · 0 评论