javascript
文章平均质量分 70
builder2991
✌
展开
-
JS-基础
JS-基础原创 2022-11-23 22:10:46 · 983 阅读 · 0 评论 -
JS-进阶
JS-进阶原创 2022-10-27 22:45:28 · 440 阅读 · 0 评论 -
Web_APIs
Web_APIs原创 2022-10-26 22:05:57 · 751 阅读 · 0 评论 -
实现简单的全屏滚动
实现简单的全屏滚动原理: 有点类似于轮播,整体的元素一直排列下去,假设有5个需要展示的全屏页面,那么高度是500%,只是展示100%,剩下的可以通过transform进行y轴定位,也可以通过margin-top实现overflow:hidden;transition:all 1000ms ease;<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html;原创 2020-05-11 17:00:09 · 1056 阅读 · 0 评论 -
JavaScript和ES6中的Promise 对象
JavaScript和ES6中的Promise 对象Promise是异步编程的一种解决方案。ECMAscript 6 原生提供了 Promise 对象。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。Promise 对象代表了未来将要发生的事件,用来传递异步操作的消息。Promise 对象有以下两个特点:1. 对象的状态不受外界影响。Promise 对象代表一个异...原创 2020-03-22 17:25:34 · 220 阅读 · 0 评论 -
JavaScript之Array 中every,some,map,filter, reduce
JavaScript之Array 中every,some,map,filter, reduce11.every和someevery表示数组中的每一项都必须通过才会返回truesome表示只要数组元素某一项满足即可var arr = [1, 2, 3, 4, 5, 6, 7,8, 9];var a = arr.every(item=> item > 6);console.lo...原创 2020-03-20 15:52:31 · 1197 阅读 · 0 评论 -
JavaScript 函数的防抖与节流
JavaScript 函数的防抖与节流防抖和节流可以很好的解决在绑定一些事件(resize,scroll,mousemove )频繁触发的情况。防抖和节流的区别假设一个用户一直触发这个函数,且每次触发函数的间隔小于wait,防抖的情况下只会调用一次,而节流的情况会每隔一定时间(参数wait)调用函数。实例分析<!DOCTYPE html><html lang="en"...原创 2020-03-20 14:44:13 · 1421 阅读 · 0 评论 -
JavaScript中的链(作用域链、原型链)
JavaScript中的链(作用域链、原型链)Js中存在两种老生常谈的链,作用域链和原型链。作用域链是为了访问变量而存在的链,原型链是访问对象的属性而存在的链。作用域链说到作用域链,首先来说下作用域的概念:执行代码的上下文,也可以说是变量对象,是开始进入一个函数的执行环境的时候,形成的所有可访问变量,可以说变量对象是作用域的实体。作用域分类:全局作用域、函数作用域(块级作用域)、eval作...原创 2020-04-09 21:33:58 · 1339 阅读 · 0 评论 -
JavaScript类型检测
JavaScript类型检测判断数据类型typeofvar str="string";console.log(typeof str); //stringvar num=1;console.log(typeof num); //numbervar bn=false;console.log(typeof bn); //booleanvar a;console.log(typeof ...原创 2020-03-19 20:10:25 · 131 阅读 · 0 评论 -
Javascript之原始值与引用值,函数创建的三种方式
Javascript之原始值与引用值原始值(1)原始值指的是 原始类型 的值,也叫 基本类型,例如 Number、Stirng、Boolean、Null、Underfined 。(2)存储在栈(stack)中的简单数据段,也就是说,它们的值直接存储在变量访问的位置。(3)在许多语言中,字符串都被看作引用类型,而非原始类型,因为字符串的长度是可变的。ECMAScript 打破了这一传统。引...原创 2020-04-09 09:25:36 · 216 阅读 · 0 评论 -
JavaScript之call和apply原理解析及模拟实现
JavaScript之call和apply原理解析及模拟实现call() 和 apply()的区别在于,call()方法接受的是若干个参数的列表,而apply()方法接受的是一个包含多个参数的数组var func = function(arg1, arg2) { ...};func.call(this, arg1, arg2); // 使用 call,参数列表func.app...原创 2020-03-17 14:03:07 · 215 阅读 · 0 评论 -
JavaScript之数据类型
JavaScript之数据类型基本数据类型JavaScript的基本数据类型共7种,其中包括ES6和ES10中个新增的一种。布尔值(Boolean),有2个值分别是:true 和 false.null , 一个表明 null 值的特殊关键字。 JavaScript 是大小写敏感的,因此 null 与 Null、NULL或变体完全不同。undefined ,和 null 一样是一个特殊的...原创 2020-03-14 19:08:43 · 126 阅读 · 0 评论 -
JavaScript之实现深拷贝的方法
JavaScript之实现深拷贝的方法1.用递归的方式实现深拷贝//使用递归的方式实现数组、对象的深拷贝 function deepClone(obj) { //判断拷贝的要进行深拷贝的是数组还是对象,是数组的话进行数组拷贝,对象的话进行对象拷贝 var objClone = Array.isArray(obj) ? [] : {}; //进行深拷贝的不能为...原创 2020-03-14 18:17:34 · 164 阅读 · 0 评论 -
JavaScript之深拷贝,浅拷贝
JavaScript之深拷贝,浅拷贝概念简单来理解就是假设B复制了A,当修改A时,看B是否会发生变化,如果B也跟着变了,说明这是浅拷贝,如果B没变,那就是深拷贝。深入理解浅拷贝首先,举个例子,代码如下:var a=[0,1,2,3,4,5],b=a;console.log(a===b);a[0]=1;console.log(a,b);根据这个例子可以看出b复制了a的内容,b...原创 2020-03-14 17:47:39 · 137 阅读 · 0 评论 -
JavaScript之var let const的区别
JavaScript之var let const的区别var:存在变量提升,没有块的概念,可以跨块访问, 不能跨函数访问,会挂载在window上。let:不存在变量提升,只能在块作用域里访问,不能跨块访问,也不能跨函数访问,不会挂载在window上。const:不存在变量提升,使用时必须初始化,只能在块作用域里访问,而且不能修改,如果声明的是复合类型数据,可以修改其属性,不会挂载在wind...原创 2020-03-14 16:55:01 · 220 阅读 · 0 评论 -
JavaScript之事件委托和事件代理
JavaScript之事件委托和事件代理事件委托概念:事件委托还有一个名字叫事件代理,JS高程上讲:事件委托就是利用事件冒泡,只制定一个时间处理程序,就可以管理某一类型的所有事件。简单的说就是原本需要一个一个去处理的事件,现在只需要一个总的事件去管理他们即可 (自己理解的,可能有偏差)用事件委托的意义在JavaScript中,添加到页面上的事件处理次数将关系到页面的整体运行性能,访问do...原创 2020-03-13 20:59:39 · 718 阅读 · 0 评论 -
javascript中的事件流及区别
网页中有哪些事件流(接收事件的顺序)及区别事件冒泡、事件捕获、DOM事件流。事件冒泡又叫IE的事件流,即事件开始时由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播到较为不具体的节点(文档)。事件捕获的思想是不太具体的节点应该更早的接收到事件,而最具体的节点应该在最后接收到节点。事件捕获的用意在于事件到达预定目标之前捕获它。DOM2级事件流规定的事件流包括三个阶段- ...原创 2020-03-03 21:10:19 · 287 阅读 · 0 评论 -
JavaScript 正则表达式
JavaScript 正则表达式了解正则表达式基本语法能够使用JavaScript的正则对象正则表达式简介什么是正则表达式正则表达式:用于匹配规律规则的表达式,正则表达式最初是科学家对人类神经系统的工作原理的早期研究,现在在编程语言中有广泛的应用。正则表通常被用来检索、替换那些符合某个模式(规则)的文本。正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些...原创 2019-12-12 21:29:46 · 592 阅读 · 0 评论 -
JavaScript 函数递归
JavaScript 函数递归所谓递归就是函数在内部直接或间接调用自己。递归执行模型function fn1 () { console.log(111) fn2() console.log('fn1')}function fn2 () { console.log(222) fn3() console.log('fn2')}function fn3 () {...原创 2019-12-12 21:12:42 · 555 阅读 · 0 评论 -
JavaScript 函数闭包
JavaScript 函数闭包什么是闭包闭包就是能够读取其他函数内部变量的函数,由于在 Javascript 语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成 “定义在一个函数内部的函数”。所以,在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。闭包的用途:可以在函数外部读取函数内部成员让函数内成员始终存活在内存中function fn () ...原创 2019-12-12 21:07:37 · 1040 阅读 · 0 评论 -
JavaScript高阶函数
高阶函数函数可以作为参数函数可以作为返回值作为参数function eat (callback) { setTimeout(function () { console.log('吃完了') callback() }, 1000)}eat(function () { console.log('去唱歌')})作为返回值function genFun...原创 2019-12-12 20:58:16 · 633 阅读 · 0 评论 -
JavaScript函数进阶
JavaScript函数进阶函数的定义方式函数声明函数表达式new Function函数声明function foo () {}函数表达式var foo = function () {}函数声明与函数表达式的区别函数声明必须有名字函数声明会函数提升,在预解析阶段就已创建,声明前后都可以调用函数表达式类似于变量赋值函数表达式可以没有名字,例如匿名函数函数...原创 2019-12-12 20:55:20 · 436 阅读 · 0 评论 -
JavaScript继承
JavaScript继承什么是继承简单的举个例子,你可以继承你父亲的房子,同样程序中的继承就是一个构造函数拥有了另外一个函数中的构造方法,就实现了继承。构造函数的属性继承:借用构造函数function Person (name, age) { this.type = 'human' this.name = name this.age = age}function Stud...原创 2019-12-12 20:43:21 · 77 阅读 · 0 评论 -
JavaScript 面向对象游戏案例:贪吃蛇
面向对象游戏案例:贪吃蛇案例相关源码以上传到GitHub :https://github.com/sunna1/snake案例介绍案例目标游戏的目的是用来体会js高级语法的使用 不需要具备抽象对象的能力,使用面向对象的方式分析问题,需要一个漫长的过程。功能实现搭建页面放一个容器盛放游戏场景 div#map,设置样式#map { width: 800px; height: ...原创 2019-12-12 19:56:50 · 1006 阅读 · 2 评论 -
JavaScript 原型
原型内容引导:使用 prototype 原型对象解决构造函数的问题分析 构造函数、prototype 原型对象、实例对象 三者之间的关系属性成员搜索原则:原型链实例对象读写原型对象中的成员原型对象的简写形式原生对象的原型ObjectArrayString…原型对象的问题构造的函数和原型对象使用建议更好的解决方案: prototypeJavascript 规定...原创 2019-12-12 18:21:09 · 81 阅读 · 0 评论 -
JavaScript 面向对象编程
JavaScript 面向对象编程面向对象介绍什么是对象(1) 对象是单个事物的抽象。一本书、一辆汽车、一个人都可以是对象,一个数据库、一张网页、一个与远程服务器的连接也可以是对象。当实物被抽象成对象,实物之间的关系就变成了对象之间的关系,从而就可以模拟现实情况,针对对象进行编程。(2) 对象是一个容器,封装了属性(property)和方法(method)。属性是对象的状态,方法是对象...原创 2019-12-12 17:50:30 · 117 阅读 · 0 评论 -
Javascript 延迟脚本和异步脚本
1.defer属性 延迟脚本`哈哈`例子中,虽然我们把2.async 异步脚本该属性与defer属性类似,都用来改变处理脚本的行为,同样与defer类似,ansync只适合外部脚本文件,并告诉浏览器立即下载文件。但与defer不同的是,标记为async的脚本并不按照指定他们的先后顺序执行。例如:` 哈哈哈`在以上的代码中,第二个脚本文件可能会在第...原创 2019-06-10 19:10:25 · 290 阅读 · 0 评论