JavaScript
记录原生JS的学习
百香果果ccc
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
es6的set集合和map映射
set集合特点:不重复、无序;map映射的键可以是任意数据类型,通过for...of遍历set集合和map映射原创 2022-11-06 19:14:17 · 432 阅读 · 0 评论 -
es6对象中的简写形式
es6对象中的简写形式。原创 2023-01-28 22:40:04 · 359 阅读 · 0 评论 -
es6的Promise对象
异常穿透:在链式调用的最后去指定异常的回调(catch),不管在中途哪个环节出现了错误,都会被最后的异常回调所识别到。① 传入的所有promise都为成功时,返回的Promise状态才为成功,结果为每个promise返回值的数组。② 传入的promise有一个为失败时,res状态就为失败,结果为第一个失败的promise返回值。② 如果p1用定时器做了延时,那么p2就会先执行,最终的返回值是p2的值。① race有比赛的意思,返回值是第一个promise的结果。第一个为成功的回调,第二个为失败的回调。原创 2023-03-06 14:04:27 · 292 阅读 · 0 评论 -
es6箭头函数的注意事项
1. **箭头函数的this指向是静态的,指向的是声明该箭头函数作用域的this,且不能通过call、apply、bind方式修改this指向** 2. **箭头函数不能当做构造函数实例化对象** 3. **箭头函数没有arguments参数**原创 2023-03-13 17:02:52 · 125 阅读 · 0 评论 -
es6中的rest参数
*rest参数与arguments参数类似,最大区别是rest参数是真正意义上的数组,而arguments是个伪数组** 2. **arguments参数**原创 2023-03-13 17:28:47 · 255 阅读 · 0 评论 -
es6的扩展运算符
es6的扩展运算符。原创 2023-03-13 17:47:00 · 109 阅读 · 0 评论 -
es6引入的第七种数据类型Symbol
es6引入的第七种数据类型Symbol。原创 2023-03-13 22:46:26 · 265 阅读 · 0 评论 -
es6的生成器函数
【代码】es6的生成器函数。原创 2023-03-15 11:35:51 · 338 阅读 · 0 评论 -
es6+数值扩展
① 二进制:0b1111 ② 八进制:0o1111 ③ 十进制: 11 ④ 十六进制: 0x1111 3. **Number.isFinite()** 【判断是否是有限数】 4. **Number.isNaN()** 【判断是否不是一个数字】 5. **Number.parseInt()、Number.parseFloat()** 【取整、取浮点数】 6. **Number.isInteger()** 【判断是否为整数】 7. **Number.trunc()**原创 2023-03-15 16:52:23 · 395 阅读 · 0 评论 -
es6模块化
【代码】es6模块化。原创 2023-03-16 11:37:59 · 590 阅读 · 0 评论 -
es6+的async和await
① 函数return为非Promise类型数据,则函数返回为成功的promise,且成功的结果就是return的值。② 函数return为Promise类型数据,则函数返回的结果就是Promise的结果。原创 2023-03-16 13:41:29 · 117 阅读 · 0 评论 -
es6+正则扩展
=,匹配数字,且前面必须是b的】=,匹配数字,且后面必须是t的】原创 2023-03-17 11:10:02 · 481 阅读 · 0 评论 -
es6+对象扩展
【创建一个对象,与Object.defineProperty()不同的是,后者是给已有对象添加属性及属性特性,前者是创建一个新对象,并添加属性及属性特性】④ configurable: 是否可删除。【向对象中添加属性(可添加存取器属性)】③ enumerable: 是否可遍历。② writable: 是否可写。【获取对象所有的value值】【将二维数组或Map转为对象】【获取对象所有的key值】① value:属性值,【将对象转为二维数组】【获取对象属性的特性】对象rest参数使用。原创 2023-03-17 11:16:30 · 245 阅读 · 0 评论 -
es6+第八种数据类型BigInt
【代码】es6+第八种数据类型BigInt。原创 2023-03-17 13:59:12 · 482 阅读 · 0 评论 -
es6的Proxy与Reflect
1. **Proxy是在对目标对象的读取时,架设一层拦截,可以在读取对象中的任意一个属性时做一些额外的操作** 2. **Proxy与Object.defineProperty方式设置setter、getter方法不同的是,Proxy是对目标对象的整体拦截,而Object.defineProperty注重对对象中的单个属性拦截**原创 2023-03-17 16:03:26 · 607 阅读 · 0 评论 -
解决利用<input type=“file“>上传文件时,value拿到的是fakePath问题
问题:上传文件之后,直接获取input.value是fakePath路径,因此不能通过此路径访问到文件。若不想修改系统配置,可利用js代码解决。原创 2023-02-28 15:15:23 · 1600 阅读 · 6 评论 -
MVC和MVVM架构模式区别
③ 但是Controller无法监听View变化改变Model,需要程序员手动去实现双向数据绑定。② Controller是控制器,可以实时监听Model中数据的变化,来动态改变View视图。④ ViewModel也可以实时监听View视图的变化,来动态改变Model中的数据。③ ViewModel可以实时监听Model中的数据,来动态改变View视图。② ViewModel充当Model和View中间的桥梁。原创 2022-11-25 16:38:19 · 184 阅读 · 0 评论 -
JS中的setter、getter数据存取器
②对象已存在的情况下,利用Object.defineProperty方法追加存取器属性及特性。3.利用Object.getOwnPropertyDescriptor()方法获取属性的特性。最大的特点是在设置、获取属性值的时候。只是简单存储了一个值。设置存取器属性的两种方式。JS属性可分为两种类型。① 直接在对象中设置。原创 2022-11-25 11:43:29 · 780 阅读 · 0 评论 -
JS中的闭包
① 函数嵌套函数② 内部函数使用外部函数的形参/变量(这些形参/变量就会常驻内存,不会被垃圾回收机制删除)优点① 变量常驻内存② 避免全局变量污染原创 2022-11-23 15:54:39 · 140 阅读 · 0 评论 -
JS本地存储技术
② domain必须与当前页面加载的域名一致,如果不一致,则cookie设置失败。① 不设置secure,http/https协议加载的页面都可以设置cookie。② 设置secure,只有https协议加载的页面才可以设置cookie。② path必须与当前页面加载的路径一致,如果不一致,则访问不到。③ 最大可存储4KB,最多可存储50条数据。① 不设置的话,默认为当前页面加载的路径。① 不设置的话,默认为当前页面加载的域名。① 只有关闭整个浏览器,数据才会清除。① 永久存储、除非手动删除。原创 2022-11-23 14:25:25 · 313 阅读 · 0 评论 -
JSONP解决跨域问题
接口返回的是回调函数调用的格式,将script标签插入到body中时,就会调用getWeather方法,将天气信息通过参数传入。② 网络请求时,只能访问同源的接口,这样是为了安全,以不至于别人能随便访问自己的私有数据。如果我们想使用一些网上公用的API(比如:获取天气API),就不得不跨域。原理:利用script标签上的src属性没有跨域的问题。当前地址与调用的接口不同源时,会跨域。① 协议、域名、端口号一致视为同源。原创 2022-11-21 17:31:39 · 294 阅读 · 0 评论 -
JS中的前后端交互技术ajax
异步的javaScript和数据传输,数据传输格式分为XML和JSON两种,各有优缺点,一般使用JSON格式;实现前后端交互的四步骤:1、声明ajax对象;2、预设请求方式、访问地址、是否异步;3、发送请求;4、监听状态变化原创 2022-11-17 15:37:22 · 641 阅读 · 0 评论 -
JS构造函数与class类中的封装、继承和多态
当访问对象的某个属性时,会先在这个对象的本身属性上查找,如果找不到,则会去__proto__指向的构造函数的prototype原型对象上查找,如果找不到,则再去构造函数的prototype原型对象的__proto__中查找,这样一层一层向上查找就会形成一个链式结构,称为原型链,最终会指向null。构造对象上面的__proto__都指向当前构造函数的prototype,它们指向的地址是一样的,所以声明在prototype上的函数能被所有构造对象访问到!从父级继承过来的属性和方法或。原创 2022-11-06 21:35:04 · 1071 阅读 · 0 评论 -
JS解构赋值
② 给函数形参赋值时,可不关心顺序,同时也可设置默认值。按顺序依次赋值,多余的变量设为undefined。无顺序,只要属性名匹配就行,也可重命名。将字符串分割成单个的字符依次为变量赋值。① 交换两个变量的值。原创 2022-11-06 14:18:41 · 387 阅读 · 0 评论 -
JS中的箭头函数
② 箭头函数与数组的forEach、filter、map、some、every等方法配合起来用的比较舒服。① 箭头函数没有this,系统会把this当做一个变量,向上级作用域中去查找,最终会指向window。② 箭头后面没写大括号,如果需要返回一个值,直接写需要返回的变量即可(省略了return)① 箭头后面写了大括号的话,如果需要返回一个值,要写return关键字。① 箭头函数在某些地方不建议使用,因为可能会降低代码的可读性。② 箭头函数中没有arguments对象。③ 箭头函数不能用new调用。原创 2022-11-06 13:28:18 · 1446 阅读 · 0 评论 -
JS中var、let、const关键字区别
var在函数、全局作用域中生效;let、const在块级作用域中生效。var声明的变量挂载在window对象上,而let、const不会。let、const存在暂时性死区的问题,且不能重复声明。var存在声明提升;let、const不存在声明提升。const声明常量,一旦声明必须赋值。原创 2022-11-06 00:06:13 · 163 阅读 · 0 评论 -
JS强制改变this指向的方法
① 格式:函数名.call(p1, p2, p3…① 格式:函数名.apply(p1, p2);③ 参数p2之后:原来的实参依次往后错一位。③ 参数p2:数组,放入原来所有的实参。④ 返回值:已经改变this指向的函数。② 参数p1:this想要指向的对象。② 参数p1:this想要指向的对象。② 格式:函数名.bind(p1);③ 参数p1:this想要指向的对象。① 功能:预设this指向。原创 2022-11-05 22:31:50 · 131 阅读 · 0 评论 -
JS正则表达式
⑤ \W:匹配单个的非数字、字母、下划线(与[^0-9a-zA-Z_]等价)返回值:匹配成功:返回一个装有字符串的数组;④ \w:匹配单个的数字、字母、下划线(与[0-9a-zA-Z_]等价)⑦ \D:匹配单个的非数字(与[^0-9]等价)③ [^范围]:匹配单个没在中括号范围内的字符。⑪ x{m,n}:匹配最少m个,最大n个x字符。⑥ \d:匹配单个的数字(与[0-9]等价)② [范围]:匹配单个在中括号范围内的字符。⑫ x{n}:必须匹配n个x字符。⑨ x+:至少匹配1个x字符。原创 2022-11-05 18:10:29 · 395 阅读 · 0 评论 -
JS事件监听器
给一个元素的某一个事件类型添加多个函数;精确删除某一个事件类型下的某一个函数原创 2022-11-04 16:07:29 · 534 阅读 · 0 评论 -
JS事件委托
利用事件冒泡的特性,将本应该注册在子元素上的处理事件注册在父元素上,这样点击子元素时发现其本身没有响应的事件,就到父元素上寻找并作出响应。② 随时可以添加子元素,添加的子元素会自动有响应的处理事件。① 减少DOM操作,提高性能。原创 2022-11-04 15:06:31 · 164 阅读 · 0 评论 -
JS三种获取浏览器宽高的区别
【DOM区域宽高,不包括横纵滚动条】【DOM区域宽高,包括横纵滚动条】【body的实际宽高】原创 2022-11-04 14:38:24 · 138 阅读 · 0 评论 -
JS事件冒泡、事件捕获、阻止默认行为
【代码】JS事件冒泡、事件捕获、阻止默认行为。原创 2022-11-04 11:30:35 · 179 阅读 · 0 评论 -
JS中的事件对象及属性
比如:ul绑定了一个点击事件,鼠标点击ul上的li,则此时的target指向这个li,this指向ul。【返回值:当前按下字母的ASCII码值,区分大小写】【返回值:大写字母的ASCII码值,不区分大小写】【只在keypress事件类型下生效】【只在keydown事件类型下生效】⑤ charCode字符码。事件由谁引起的,就指向谁。④ keyCode键码。② 获取当前鼠标位置。③ 是否按下了控制键。原创 2022-11-02 18:16:02 · 628 阅读 · 0 评论 -
JS鼠标、键盘、window、表单的事件类型
绑定事件格式:node.on + 事件类型 = 事件处理函数。鼠标、键盘、window、表单事件类型原创 2022-11-02 13:48:51 · 305 阅读 · 0 评论 -
JS通过offset系列属性获取实际看到的元素样式
JS通过offset系列属性获取实际看到的元素样式。原创 2022-11-02 10:39:29 · 132 阅读 · 0 评论 -
JS节点操作的一些方法
JS节点操作的一些方法增删改createElement、createTextNode、appendChild、insertBefore、replaceChild、cloneNode、removeChild、remove原创 2022-11-01 15:35:34 · 255 阅读 · 0 评论 -
JS元素节点的一些属性和获取元素子节点的方法
node.nodeType、node.nodeName、node.nodeValue;childNodes、firstChild、lastChild、nextSibling、previousSibling、parentNode、children、firstElementChild、lastElementChild、nextElementSibling、previousElementSibling、parentElement原创 2022-11-01 14:26:46 · 400 阅读 · 0 评论 -
JS中attribute的一些方法
方式,只是把属性值设为空了,并没有删除】方式,也能设置成功,但在行间不可见】【获取属性,自定义属性也能获取】方式获取,但不能获取自定义属性】【设置属性,在标签行间可见】【删除属性,真正意思上删除】原创 2022-11-01 12:58:32 · 1761 阅读 · 0 评论 -
JS获取节点的有效样式
JS获取节点的有效样式。node.style.属性名;node.currentStyle[属性名];getComputedStyle(node)[属性名]原创 2022-11-01 10:14:54 · 465 阅读 · 0 评论 -
JS中数组的冒泡排序和选择排序
冒泡排序和选择排序原创 2022-10-28 15:50:43 · 117 阅读 · 0 评论
分享