![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
文章平均质量分 58
小白蛋挞
努力中…
展开
-
es6之数组的扩展方法
目录 可以将伪数组转换为真正的数组,from()方法将一组值转换为数组:of()copywithin()了解find()和findIndex()遍历器entries(),keys(),values()是否包含includes()可以将伪数组转换为真正的数组,from()方法function fn() {// console.log(arguments);console.log(Array.from(arguments));}...原创 2022-05-30 17:24:53 · 262 阅读 · 0 评论 -
es6之Set集合与Map集合
Set集合无重复元素,所以可以用于数组去重let set = new Set();添加元素set.add()可以是数字,数组,字符串以及对象。如果添加了两个空对象,所代表的是两个不一样的地址,所以看成两个值。删除元素set.delete()判断某个元素是否在集合中set.has()返回值是布尔类型通过扩展运算符可以将Set集合转换为数组let set = new Set([1,2,2,3,4,5]);let arr = [...set];了解set中对象的引用无法原创 2022-05-30 16:36:18 · 208 阅读 · 0 评论 -
javascript中==和===区别以及es6中is()方法
==和===区别==比较规则先检查两个操作数的基本类型是否相等,如果相等比较两个操作数的数值。如果两个操作数的基本类型不相同,则先转换为同一基本类型再进行比较。===比较规则严格相等运算符两个操作数的基本类型不同则直接返回false,相等才会进行数值的比较。对于对象的比较,即使两个对象有相同的属性值,也会返回false,对象仅与自己比较时才会返回true。Object.is()与严格相等===区别如何处理NaN和+0、-0。...原创 2022-05-30 16:06:01 · 224 阅读 · 0 评论 -
es6语法02-函数默认值与什么是剩余参数,与arguments区别
目录函数之默认值剩余参数es6arguments(es5)剩余参数和arguments区别函数之默认值es5function add(a,b){ a = a || 20; b = b || 30; return a+b;}//如果没有向a传入参数a就等于20...console.log(add());es6functiong add(a=20,b=30){ return a +b;}//只传一个值就给a原创 2022-05-28 09:47:44 · 108 阅读 · 0 评论 -
es6语法01-为什么会出现let和const的,与var的区别,何时使用以及模板字符串
目录let中的特点const的特点作用一作用二何时使用var中有变量提升,还可以重复声明。let中的特点1.没有变量提升2.是一个块级作用域(比如在for循环中)3.不能重复声明const的特点除了具有上述let的特点之外,还有声明常量的作用,一旦被声明不可以被更改,如果一个对象声明为了常量,那么这个对象不可以被更改,但是常量内部的属性可以被更改。const person={ name:'xiaoma'}//不能够这样person原创 2022-05-28 09:01:33 · 159 阅读 · 0 评论 -
js之pc端网页特效缓冲动画(2)
目录一、缓冲动画原理二、缓冲动画多个目标值之间移动三、缓冲动画添加回调函数四、动画函数的使用之问题反馈案例五、案例之品优购轮播图六、节流阀以及逻辑中断应用七、筋斗云案例一、缓冲动画原理让元素的速度有所变化,最常见的是让速度慢慢停下。原理:让盒子每次移动的距离越来越小,速度就会慢慢停下来,核心算法:(目标位置-当前位置)/10,作为每次移动的步长,比如目标位置是100,当前位置0,所以步长就会10...9、8、7...0,停止的条件,让当前盒子距离等于目标位置就停止..原创 2022-05-07 10:21:48 · 554 阅读 · 0 评论 -
js之pc端网页特效(3)简单动画1
目录一、动画原理二、简单动画函数封装三、给不同元素记录不同定时器一、动画原理通过定时器setInterval()不断移动盒子距离,获取盒子当前位置offsetLeft,让盒子在当前位置加上移动距离(自己设定),利用定时器不断重读这个操作,加一个定时器结束的条件。 var div = document.querySelector('div'); var time = setInterval(function() { if (div.o原创 2022-05-06 11:22:53 · 171 阅读 · 0 评论 -
js之pc端网页特效(2)client系列,立即执行函数,scroll系列,mouseenter和mouseover区别以及案例
一、client系列获得的数值都不带单位clientTop获取元素的上边框大小;clientLeft获取元素的左边框大小;宽度clientWidth获取盒子大小,clientHeight获取盒子高度大小,不包含边框,包含padding,其余和offset系列一样。offset系列获取元素偏移比较方便,client系列获取元素大小比较方便,scroll系列获取元素的滚动距离。二、立即执行函数不需要调用,能够立即执行的函数格式:( function( ){ } ) ()或者 (原创 2022-05-06 11:02:17 · 213 阅读 · 0 评论 -
js之pc端网页特效,获取元素偏移,获取元素大小,offset和style区别以及案例
offsetLeft和offsetTop获取元素偏移offset系列属性可以动态获得元素的位置,大小等,不需要我们去看css了,没有right和bottom。获得元素的距离以带有定位的父盒子为准,返回的数值不带单位,如果父盒子没有定位,就往上找,直到找到带有定位的父盒子,如果没有就以body为准。offsetWidth和offsetHeight获取元素的大小返回的数值不带单位,包含padding和border值offsetParent返回带有定位的父盒子,parentNode是返原创 2022-04-29 16:08:39 · 568 阅读 · 0 评论 -
js之BOM学习,页面加载事件,定时器,js同步异步,location参数,this指向问题
什么是BOM?BOM(Browser Object Model)浏览器对象模型,提供了独立于内容而与窗口进行交互的对象,核心对象是window,学习与浏览器进行交互的一些对象比如怎么后退一个页面,前进一个页面,刷新等。BOM由一系列对象组成,每个对象有其对应的属性和方法,BOM缺乏标准,浏览器厂商再各自浏览器上定义的JS的语法标准化组织是ECMA,DOM是W3C。var num = 10 log(num)log(window.log)全局变量变成window对象的属性function fn(原创 2022-04-23 19:18:47 · 924 阅读 · 0 评论 -
js之DOM事件
元素创建事件的两种方式传统方式on开头的事件,事件的唯一性,同一个元素同一个事件只能设置一个处理函数,后面的覆盖前面的,下列代码只弹出2。 var btns = document.querySelectorAll('button'); btns[0].onclick = function() { alert(1); } btns[0].onclick = function() { alert原创 2022-04-22 15:23:05 · 3355 阅读 · 0 评论 -
js之DOM学习三种创建元素的方式
document.write() 了解直接将内容写入页面的文档流,但是文档流执行完毕,会导致页面重绘,重新创建一个新的页面,只有新写入的这个元素,只有div了执行了之后 var btn = document.querySelector('button'); btn.onclick = function() { document.write('<div>123</div>'); }innerHTML创建多个元素效原创 2022-04-21 18:50:03 · 1648 阅读 · 0 评论 -
js之节点操作,为什么要学习节点操作
获取元素的方式1.DOM方式 逻辑性不强,繁琐<div>woshi1</div> <span>woshispan</span> <ul> <li>我是Li</li> <li>我是Li</li> <li>我是Li</li> <li>我是Li</li> <原创 2022-04-18 05:11:17 · 298 阅读 · 0 评论 -
js之自定义属性以及H5中如何判断自定义属性
目录获取属性值设置属性值移除属性怎样判断一个属性是自定义属性还是内置属性自定义属性就是我们自己添加的属性,目的保存并使用一些数据,有些数据可以保存到页面 而不用保存到数据库。获取属性值 <div id="demo" index="1" class="name"></div>1.div.id2.element.getAttribute('属性')区别是第一种只能获得元素内置的属性值,第二种可以获得我们自己定义的属性值,index就是我们自.原创 2022-04-16 15:32:59 · 940 阅读 · 0 评论 -
js之什么是事件?事件三要素以及操作元素
事件是可以被js侦测到的行为 触发--响应机制1.页面中每个元素都可以产生触发js的事件,例如我们可以在用户点击时产生一个事件,然后去执行某些操作。下拉列表,鼠标经过显示;密码隐藏和显示,通过点击某个元素。事件三要素(点击一个按钮,弹出一个对话框)1.事件源 事件被触发的对象 谁 按钮2.事件类型 怎末触发的 比如点击触发 经过 键盘按下... 鼠标点击3.事件处理程序 通过函数赋值的方式,要做什么事 弹出对话框执行事件的过程1.获取事件源2.绑定事件(注册事件)3.添加原创 2022-04-14 20:13:00 · 1250 阅读 · 0 评论 -
js之DOM学习获取元素
目录DOM树获取元素的方式getElementById根据id来选getElementByTagName根据标签名来选getElementByClassName根据类的名字来选,把类是xxx的都会选出来H5新增获取元素方式获取body和htmlDOM(Document Object Model)文档对象模型,是W3C组织推荐的处理可扩展标记语言的(HTML或XML)的标准编程接口。通过这些接口可以改变网页的内容、结构和样式。DOM树获取元素的方式getElem原创 2022-04-14 19:43:18 · 456 阅读 · 0 评论 -
js中对象的三种创建方式
目录创建对象的三种方式字面量创建利用new Object()创建对象利用构造函数创建对象遍历对象和方法变量属性的区别函数和方法的区别对象是一组无序的相关属性和方法的集合创建对象的三种方式字面量创建var stu = { name: '小明', age: 12, study: function() { console.log(原创 2022-04-14 18:46:39 · 807 阅读 · 0 评论 -
js之预解析
目录一、js引擎执行代码分为两步:预解析和代码执行二、预解析分为变量预解析(变量提升)和函数预解析(函数提升)1.变量提升2.函数提升三、案例一、js引擎执行代码分为两步:预解析和代码执行1.预解析会将js里面所有的var,function的声明提升到当前作用域的最前面2.代码执行,按照代码书写顺序从上往下执行二、预解析分为变量预解析(变量提升)和函数预解析(函数提升)1.变量提升就是把所有变量声明提升到当前作用域的最前面,但不提升赋值操作。2.函数提升原创 2022-04-12 17:09:57 · 360 阅读 · 0 评论 -
js之作用域、作用域链、全局变量和局部变量
目录Javascript作用域:1、全局作用域2、局部作用域根据作用域的不同,变量可以分为两种:1、全局变量2.局部变量Javascript作用域:就是代码名字在某个范围内起作用和效果。目的时为了提高程序的可靠性更重要的时减少命名冲突。es6之前:全局作用域和局部作用域。1、全局作用域整个script标签,或者是一个单独的js文件。2、局部作用域在函数内部就是局部作用域,这个代码的名称只在函数内部起作用。根据作用域的不同,变量可以分为两种:原创 2022-04-12 16:51:01 · 667 阅读 · 0 评论 -
js之函数的两种声明方式
目录第一种利用函数关键字自定义函数(命名函数)第二种函数表达式(匿名函数)第一种利用函数关键字自定义函数(命名函数)格式如下:function 函数名(){}调用时fn(); function fn() { }第二种函数表达式(匿名函数)格式如下:var 变量名= function(){}和定义变量不同,定义变量里面存的是变量,这个里面存的是函数。调用的时候也是fun(),括号里面也可以传参。 var fun = f.原创 2022-04-12 16:39:12 · 1521 阅读 · 0 评论 -
js案例之求最大值,反转数组,冒泡排序
//求最大值function getMax() { var max = arguments[0]; for (var i = 1; i < arguments.length; i++) { if (arguments[i] > max) { max = arguments[i]; } ..原创 2022-04-12 16:33:56 · 259 阅读 · 0 评论 -
对js中argumens的简单理解
在js中每个函数都内置了一个对象,arguments,它可以代替任何的形式参数,比如在不知道参数个数的情况下。arguments是一个特殊的对象,他的属性名是按照传入参数的顺序来的,可以使用arguments[i],i=0,1,2,3...而且他还有length属性,存储当前传入参数的个数,可以把他看成类数组对象,但是不是数组。通过下列程序可以看出。传入了三个形参,分别是1,2,3,用逗号隔开的,然后我们打印了arguments的类型为object,然后使用for循环遍历了三个形参。还有要注意f原创 2022-04-12 16:31:54 · 352 阅读 · 0 评论