JavaScript基础
文章平均质量分 73
简单Janeee
前端小白的代码日常
展开
-
【js】用原生js获取当前日期以及三十天前日期的方法
用原生js获取当前日期以及三十天前日期的方法。js处理——获取当前月第一天和最后一天。原创 2023-04-23 16:31:58 · 751 阅读 · 0 评论 -
【js】js数组对象字符串的相互转化
字符串既可迭代又类似于数组,因此,可以成功地将其转换为字符数组。将这个columns数组存入localstorage中,本来想数组转字符串对象在转字符串可是这样实现不了。) 允许在需要多个元素(如数组文字)的地方扩展诸如字符串之类的可迭代对象。该split方法可能是将字符串转换为字符数组的常用方法,但它不处理采用两个代码单元的字符。通过使用空字符串作为split方法的分隔符,我们可以将字符串转换为字符数组。这是将字符串扩展为字符数组的示例。解构赋值语法可以将数组或可迭代对象中的值解包为不同的变量。原创 2023-04-20 16:41:56 · 1136 阅读 · 0 评论 -
【js】数组对象相同键名进行合并
but,由以上可知另一个问题,在attrValueArr中会出现相同的键名,因此我们需要在添加时就,判断是否有重复值。原创 2023-04-13 09:39:17 · 574 阅读 · 0 评论 -
【ES6--4】Promise对象与async和await方法
/3.await 返回的是promise成功的值 4.await的promise失败了,就会抛出异常,需要通过try...catch捕获处理。//promise对象,用于处理多个异步,(传入的参数是一个数组),在所有异步都执行完毕才会触发,都成功才触发。// //如果返回的不是一个promise对象,则返回的就是一个成功的promise对象。// // reject("失败的内容");// //抛出错误 返回的是一个失败的promise对象。原创 2022-12-28 16:03:08 · 563 阅读 · 0 评论 -
【ES6--3】Map和set对象
/一个普通的object类型,他的键只能是字符串或者symbol类型,但map的键可以是任意的。//map对象是一组键值对的结构,具有极快的查找速度。//Map键值对的个数,可以通过size属性来获取。//声明方式let a = new Map();//清空 clear();//自动执行,使用new+对象名的时候自动执行。//Map的键是有序的,而普通对象不是。// //添加方法,通过原型来添加方法。//es5的原型实例化对象的方法。// //原型里面的call方法。//es6 class类的方法。原创 2022-12-28 15:45:46 · 368 阅读 · 0 评论 -
【ES6】--es6新特性2
不能用于构造函数,箭头函数没有prototype,没有自己的this指向,没有自己的argument,this指向会指向离他最近的那个作用域(普通函数的this,指向调用它的对象)箭头函数适合于this与无关的回调,定时器,数组的方法回调,箭头函数不适合与this有关的回调,事件回调,对象的方法。 2)省略花括号的情况,当代码体只有一条语句的情况,此时return必须省略,而且语句的执行结果结束函数的返回值。//扩展某个函数的属性和方法,不确定该对象是否可以使用该对象。点击div两秒之后变成粉色。原创 2022-12-28 15:43:51 · 502 阅读 · 0 评论 -
【ES6】es6新特性
块级作用域:点击修改颜色的时候,进行实现的是for循环,使用var的时候是全局的也不是代码块的内容,而使用let则是定义了一部分代码块的内容items[i],可以使用。//使用rest参数来接受赋值数组的剩余元素,要确保这个rest参数放在赋值变量的最后一个位置,变量前面必须要有三个点,变量名随意。es6规定,在区块中使用let一旦声明就形成封闭作用域,凡是在声明之前使用这些变量就会报错,这就是死区。//定义变量abc,分别对其进行解构赋值,如果想忽略数组的某个元素对变量进行赋值,可以使用逗号处理。原创 2022-12-27 18:14:44 · 814 阅读 · 0 评论 -
【javascript-36】封装ajax,注释全,可直接作为request.js文件
/如果收到请求头的参数,我们就设置请求头,没头就不设置,使用默认的。//请求方式,参数,success代表返回成功,error代表失败。//定义一个函数,处理传过来的对象,将对象参数转成字符串的形式。//ajax封装 发生变化的:接口,参数,请求方式,请求头。// es6中的解构,将对象中的数据都拿出来。//传入的data是个对象。//成功时调用succe。//失败时调用error。//post的时候执行。原创 2022-10-09 14:47:58 · 128 阅读 · 0 评论 -
【javascript-35】基本的AJAX与常见的状态码以及常见的跨域问题的解决方式
ajax是一个异步的javaScript和XML,是一种无需加载页面的情况下,能够与与更新部分网页内容技术,通俗的说即使我们通过ajax去请求服务器数据,然后根据数据改变页面优势:异步加载数据无需刷新页面,用户体验好,节省流量,可以通过js 来控制,比较灵活。原创 2022-10-09 14:47:39 · 301 阅读 · 0 评论 -
【javascript-34】正则表达式和元字符
的lastIndex属性值,来作为目标字符串中开始查找的起始位置,lastIndex起始值为0 找到匹配项后,可以将lastIndex重置为匹配内容的下一个字符索引。//replace两个参数,第一个参数要替换的字符串(也可以是正则表达式),第二个参数,替换的新的字符*///^取非,取反,排除,除了abc其他都符合规则,此处空格也改变,限定字符,只在[]里面的意思。检索字符串,返回查找第一个值,返回的是一个数组,如果没有找到符合规则的则返回null。//^出了[],之后代表的是,以abc开头的字符。原创 2022-10-09 14:47:14 · 344 阅读 · 0 评论 -
【JavaScript-27】js的内置对象Date,获取当前时间戳,倒计时案例(附最后)
/延时器中的函数不要加括号,加括号是一个执行完的函数。//获得的时间戳直接传到Date()中即可。变量.getFullYear();//换算成小时对小时取余,剩余多长时间。变量.getMinutes();变量.getSeconds();变量.getMonth();变量.getHours();变量.getDate();将传回的时间转化成年月日周等。变量.getDay();//获取当前时间的时间戳。//获取目标时间的时间戳。//获取特定的的时间戳。//将时间戳转化为时间。//求出它们的时间差。原创 2022-09-30 14:49:12 · 494 阅读 · 0 评论 -
【JavaScript-33】js中字符串的常用方法
用来检索字符串是否用和传入的参数相匹配的值,如果有则返回索引,没有则返回-1。一个参数要替换的字符串(也可以是正则表达式),第二个参数,替换的新的字符。分割,分成两个,拿到后面一个,用&分割,拿到两个值。分割,字符串转数组,分割符就没了,不会保留分隔符。快淘汰的一种算法,subtr()包含开头和结尾。字符串.search(“查找的值”);//用对象存贮,可以得到键值对的形式。字符串.slice(开始,结束)//键的内容等于分割的第一位。//值的内容等于分割的第二位。同2值包含开始不包含结束。原创 2022-09-30 14:48:43 · 272 阅读 · 0 评论 -
【JavaScript-32】使用js获取css样式内容
第二种,传入的是json对象,不兼容,可能有bug。//及收入判断,实际的值不等于目标的值,就继续运行。//json对象格式的遍历需要for in。变速动画中的left全部改为attr。//传入的两个参数分别是节点和属性。//考虑到两种情况需要封装一个函数。//传入的两个参数分别是节点和属性。//获取对象的样式,传入节点和属性。//.style设置的是行内样式。原创 2022-09-30 14:48:22 · 687 阅读 · 0 评论 -
【JavaScript-31】防抖与节流
在频发触发的函数中,只执行最后一次,主要思路,当事件一段时间没有继续触发时,我们的事件处理函数才会执行一次。在频繁接触的函数中,指的是在一定时间中,只执行一次,适应与所有频繁触发的事件。//如果节流等于false,则执行延时器。//设置延时器的延时时间。原创 2022-09-30 14:48:03 · 97 阅读 · 0 评论 -
【JavaScript-30】js获取页面卷曲度
/获取页面宽高,兼容写,或 自适应的一个方法。变量名.scrollTop = 卷曲的值;//让小框的高度等于获取页面的高度。//获取的变量名可以直接赋值。//元素发生滚动所触发的函数。//获取整个页面的卷曲度。//如何设置卷曲的大小。//页面加载完成触发。原创 2022-09-29 11:48:47 · 618 阅读 · 0 评论 -
【JavaScript-29】js的例子实现动画的无缝轮播,复制即可用
js实现无缝轮播的内容原创 2022-09-29 11:48:32 · 284 阅读 · 0 评论 -
【JavaScript-28】js的例子点名器,注释咔咔全
/如果最后获取的内容不等于空。//如果lock为true。//获取到了随机的i。原创 2022-09-29 11:47:51 · 289 阅读 · 0 评论 -
【JavaScript-26】js的内置对象Math,随机数获取随机颜色
/function同上,return "#"+r.toString(16)+g.toString(16)+a.toString(16);Math对象是我们js的一个内置对象,它拥有一些数学属性和方法,Math不是函数对象。//256的原因:(max-min+1)+min。//null代表不改变this的指向。//不改变this指向,后面传数组。//另一种方法以后经常会用到。//随机获取颜色转成16进制。//添加定时器,随机获取标签。//但是有个bug取不到1。原创 2022-09-29 11:47:35 · 273 阅读 · 0 评论 -
【JavaScript-25】js中深浅拷贝及其方法
/two 复制的是one存放在堆中的地址,one,two是一个对象的地址,需要新开辟一个地址空间,才能不影响原来的数据。/*浅拷贝:基本数据类型拷贝的是值;浅拷贝:基本数据类型拷贝的是值;//数组的解决方法,只要有返回新数组的均可以解决这个问题。数组的解决方法,只要有返回新数组的均可以解决这个问题。引用数据类型拷贝的是开辟的新地址中的值*/深拷贝:引用数据类型拷贝的是开辟的新地址中的值。//先转成字符串,再转成对象,开辟新的内存空间。//数组同样存在深拷贝和浅拷贝。//封装开辟新地址的函数。原创 2022-09-29 11:47:11 · 199 阅读 · 0 评论 -
【JavaScript-24】js中继承的方法
constructor 属性是为了function设计的,存在于每一个函数的prototype中,它。通过call来继承,只继承了属性,没有继承里面的原型方法(继承不了对象中的函数)//将people中的内容拿到this这里来执行。//one继承people中的types属性。//这种方式会导致子级添加原型影响到父级。//将父级原型赋值给子级原型。//打印people的原型。//写另一个方法来继承它。//打印出的s三者都有。"子级的独有属性2"//abc现在是子代。//第二种方法的调用。原创 2022-09-27 17:49:45 · 297 阅读 · 0 评论 -
【JavaScript-23】js中call&&apply&&bind的异同
/从第二个参数开始就是传入参数的值,可以无限传入,只要有接收,注意此时传入的参数是fun中。第二个参数及以后的参数,是传递给调用者新环境的参数,调用者此时在新环境被中执行。//旧环境中的方法,打开的是新环境中的内容;//一般的函数改变到obj1中的this指向。//call 第一个参数为指向的新环境。第一个参数是this指向的新环境。第一个参数是this指向的新环境。//注意此时传递的是一个数组内容。第一个参数是this指向的新环境。第二个参数要传递给新环境的参数。第二个参数要传递给新环境的参数。原创 2022-09-27 17:48:12 · 364 阅读 · 0 评论 -
【JavaScript-22】工厂模式
// one.getName 和 two.getName在各自的内存当中,并没有实际的关系,每次都会创建一个新的getName 会在运行上有一定的问题,原型解决。//每次new一次,系统会创建一个内存空间来放一个new出来的空对象。// 是否使用new关键字来调用,如没有new关键字就是普通函数。//创建的不再是空对象了,因为构造对象会给我们返回一个对象。 // new关键字,替我们创建了空对象,返回了对象。"这是函数里面对象中的函数"//构造函数 new对象名。//在函数中创建空白对象。原创 2022-08-22 09:34:26 · 61 阅读 · 0 评论 -
【JavaScript-23】原型(简)不够好
减少重复创建的方法,每次都会创建一个新的getName 会在运行上有一定的问题。//new 的是对象的名字,在原型上添加的方法会被共享。//调用的对象名键值为name的 = 传入的参数的值。"打印数组调用的函数return出来的值"//变量要写在外面,要不每次循环都会清空。//对象名.原型.方法名(新的函数名)//arr调用的,this就是arr。"原型中添加的函数拼接的字符串"//构造函数加原型的写法,为最优。//比较调用的是方法的名字。//给数组添加原型方法。//拿到数组中的元素。原创 2022-08-22 09:33:44 · 50 阅读 · 0 评论 -
【JavaScript-21】面向对象
对象,万物皆对象,对象是由属性和方法组成面向对象是一种思想,也就说将我们要实现的功能看成一个对象。原创 2022-08-22 09:33:31 · 65 阅读 · 0 评论 -
【JavaScript-20】JSON的类型转换+json与object的区别
Object对象,实质上是一种引用数据类型,基本数据类型存放在栈中,引用数据类型存放在堆中,键可以不加引号,值中包含多种类型,可以是函数、对象字符串等。json一种数据格式,他的值中不能有方法函数,也不能有undefined,使用时,键必须加双引号。会将所有源对象合并到目标对象并返回,源目标对象也会发生改变。//通过构造函数的形式创建对象,只要通过new出来的都是构造函数。字符串要转成对象格式,字符串里一定要是对象的格式。第一个是目标对象,后面有多个源对象。//后面的相同内容覆盖前面的。...原创 2022-08-02 09:12:12 · 426 阅读 · 0 评论 -
【JavaScript-19】对象的遍历
对象是没有长度的属性,获取不了长度,所以无法使用for循环进行遍历。变量是每一项的属性名,也就是key。for(变量in对象名){原创 2022-08-02 09:11:50 · 65 阅读 · 0 评论 -
【JavaScript-18】对象01
对象是一组无序的相关属性和方法的集合,所有事务都是对象,例如字符串、数值、数组、函数等。(1)里面的属性或者方法我们采取键值对的形式键(属性名)值(属性值)//当属性值是变量时使用[变量名]来取json对象中的值。//函数取值时,加了括号就是函数调用,不加括号就是函数本身。//拿到的是name的值,不是储存的变量age的值。//获得varname中变量age在obj的值。//name的值等于一个变量name。//返回值,打印的是它的调用。"加了括号就是函数的调用"//打印出name的值。...原创 2022-08-02 09:10:52 · 319 阅读 · 0 评论 -
【JavaScript-17】BOM-04 获取页面宽高、盒子宽高
获得body的值,清空内外边距之后与以上两个相同,不包含内外边距,滚动条。兼容低版本的ie,页面可视的宽高不包含控制台,菜单栏,滚动条宽度。//当父级有定位时,偏移量计算的是本身到有定位的父级的距离。//当父级没有定位时,偏移量计算的是本身到页面的距离。//当本身脱标时,偏移量就是本身的left/top。不包含控制台、菜单栏(低配版的ie不支持),包含滚动条。获取的是实际宽度+内边距+边框=实际盒子的宽度。屏幕大小发生变化时触发。...原创 2022-08-02 09:10:28 · 1326 阅读 · 0 评论 -
【JavaScript-16】BOM-03 定时器+延时器
/定时器window下,可以简写。无限循环,按照我们规定的时间,间隔执行,除非清除定时器才能停止执行。定时器window下,可以简写。无线循环,按照我们规定的时间,间隔执行,除非清除定时器才能停止执行。//console.log("时间",times);//延时器等待一定时间后执行(只执行一次)//第二个参数是毫秒为单位,1000是毫秒数。延时器,等待一定时间之后执行(只执行一次)//创建一个定时器。"触发时间打印的值"...原创 2022-08-02 09:10:07 · 132 阅读 · 0 评论 -
【JavaScript-15】BOM-02操作页面跳转等基本属性
监听内容加载完成再调用,放入调用的函数或者要加载的代码,只要等待加载的都可以放到onload中,不会像script一样写入就执行,location对象,是window里的子对象,使用的时候可以省略window,location主要是获取当前页面的地址信息。//可以传值传的是布尔类型的,如果是true,不会加载缓存,从服务器(主机)重新请求数据;//可以传值传的是布尔类型的,如果是true,不会加载缓存,从服务器(主机)重新请求数据;//location.href="./01_js第一步.html";...原创 2022-08-02 09:09:42 · 449 阅读 · 0 评论 -
【JavaScript-14】BOM-01
概念:1.BOM是浏览器对象模型,可以与浏览器窗口进行互动的对象结构,其中windows对象是BOM的顶层对象,其他对象都是该对象的子对象弹框打开新的文件窗口关闭打印原创 2022-07-09 16:52:21 · 149 阅读 · 0 评论 -
【JavaScript-13】阻止事件的默认行为+键盘表单事件
event.stopPropagation();event.preventDefault();通常写在第一行例1)如a标签不需要写onclick直接点击便可以跳转,此处写阻止默认行为,就是阻止a的点击行为例2)阻止默认行为,阻止右击页面自带的弹框二、键盘和表单事件1.按键回车键的获取e.keyCode = “13”;keypress 按键按下的时候触发,不能识别功能键,比如ctrl shift 左右按键注意:只有有输入的地方才会使用...原创 2022-07-09 16:39:11 · 1920 阅读 · 0 评论 -
【JavaScript-12】事件冒泡和事件委托
当我们点击子元素触发父元素的事件,这种现象,我们叫做事件冒泡,即由子元素向祖先元素传播,就像气泡从水底上浮event.stopPropagation();!二、事件委托通俗的讲,子代有事,让父级执行,当我们点击li时,子元素会通过事件的冒泡来触发父元素的事件,主要是通过事件冒泡:不要给每个子节点单独设置事件监听器,而是事件监听设置在其父节点上,然后利用冒泡原理影响设置每个子节点...原创 2022-07-07 20:10:43 · 465 阅读 · 0 评论 -
【JavaScript-11】webAPI---DOM事件对象
事件对象就是当你触发一个事件以后,对该事件的一些描述,每个事件都会有一个对应的对象来描述信息,我们把这个对象叫做事件对象函数对象会默认接收一个event,作为事件触发对象,可以简写通常用e表示target 表示你点击的目标,也就是当你触发点击事件,你点击在哪个元素上,target就是谁e.target返回的是触发事件的对象(元素) this返回的是绑定事件的对象(元素)与this相同的currentTarget点击的点到页面可视区域的位置 x/y两个坐标,不计算滚动条,也就是不包含页面卷曲的内容,此处的e.原创 2022-07-07 20:10:22 · 72 阅读 · 0 评论 -
【JavaScript-10】webAPI---DOM事件的内容+案例
事件源 事件类型 事件处理程序 我们也称之为三要素(1)事件源 事件被触发的对象 谁 按钮(2)事件类型 如何触发 什么事件比如鼠标点击(onclick) 还是鼠标经过,还是键盘按下(3)事件处理程序 通过一个函数赋值的方式 完成要学会思路...原创 2022-06-30 20:02:13 · 102 阅读 · 0 评论 -
【JavaScript-09】webAPI---DOM的增删改查
一个网页其实就是个文档,文档是由一个一个节点组成的节点:标签、属性、文本、注释DOM主要用来:1。获取元素 2.动态创建元素 3.对元素进行操作 4.添加事件getElementById(id的名字)[0];2.通过标签名来获取节点getElementsByTagName(‘标签的名字’)注意:标签名的elements中有s3.通过类名获取节点getElementsByClassName(‘类名’)4、获取当前元素的父元素获取本身的父级节点parentNote5.获取兄弟节点1.获取下一个兄原创 2022-06-29 21:50:59 · 236 阅读 · 0 评论 -
【JavaScript-08】函数的闭包
概念:一个作用域可以访问另一个函数内部的局部变量特点:1.函数嵌套函数 2.内部函数可以访问外部变量 3.参数和变量不会被回收(回收牵扯出全局变量和局部变量,因为全局变量在页面关闭后销毁,比较占内存资源。局部变量在函数执行完毕后销毁,闭包保护局部变量不会在函数执行完被回收也就是销毁)不能滥用闭包,会导致内存泄漏(本应该会回收的变量没有被回收)......原创 2022-06-27 22:19:24 · 71 阅读 · 0 评论 -
【JavaScipt-07】js中的函数使用问题
一、概念函数就是封装了一段可以被重复执行调用的代码块 目的:就是让大量代码块重复使用函数也是一种数据类型,引用数据类型。第一种要求:不想打开页面而直接加载出结果,此处写一个函数,将代码放入函数中,在使用时调用函数即可第二种要求,页面显示出来三个1-100的和,函数的重复调用,不会相互影响二、函数的命名1.建议名字以功能命名命名规则 大驼峰 小驼峰大驼峰—每个单词以大写开头小驼峰—除第一个单词外,往后的每一个单词开头都是大写(常用function 函数名(){ 函数体 }声原创 2022-06-27 22:18:57 · 112 阅读 · 0 评论 -
【JavaScirpt-06】数组的内置方法(重点!)
数组是我们js的一种类型,它是引用类型数组当中提前给我们定义了一些内置方法(函数)来方便我们操作数组能接收到三个参数,第一个当前遍历到的元素;第二个当前的索引值也就是下标;第三个当前遍历的数组,不能提前结束循环,不能使用break、continue等关键字能接收到三个参数,第一个当前遍历到的元素;第二个当前的索引值也就是下标;第三个当前遍历的数组,通过每次遍历返回的值组成新的数组,并返回能接收到三个参数,第一个当前遍历到的元素;第二个当前的索引值也就是下标;第三个当前遍历的数组,通过每次遍历返回的Bool原创 2022-06-27 22:18:37 · 337 阅读 · 0 评论 -
【JavaScript-05】初识数组
数组是一组数据的集合,其中每个数据被称作元素,在数组中可以存放任意类型的元素,数组是将一组元数据存储在单个变量名下的方式。2) 利用数组字面量创建数组注意:数组里面的数据一定要用逗号隔开用来访问数组元素的序号(数组下标从0开始)格式:数组名[索引号]把数组元素从头到尾访问一遍冒泡排序:是一种简单的排序算法,一次比较两个,不符合要求就交换,经过多次循环,符合要求的就会慢慢上浮1.比较相邻的两个元素,如果前一个比后一个大,则交换位置2.比较完一轮以后,我们能确定最后一个元素是它们当中最大(或最小)的元原创 2022-06-27 22:18:14 · 115 阅读 · 0 评论