js
文章平均质量分 52
weixin_41697323
这个作者很懒,什么都没留下…
展开
-
async、await 与 Promise的关系
Async 函数Await 函数Promise对象原创 2022-02-18 18:04:06 · 533 阅读 · 0 评论 -
js中可选链(?.)与非null赋值(??)的用法
一、可选链 ?.一般在编写代码时,当从异步数据中取一些结构比较深的字段时,一般人写法是这样的:data[0].userInfo.name但是如果当接口返回的data为空数组时,此时就会报一个常见的错误:有经验的开发人员会这样写来避免报错data && data[0].userInfo && data[0].userInfo.name这样即使userInfo为空,也避免报错。还有一种写法就是使用可选链:data[0]?.userInfo?.name.原创 2021-08-09 14:20:39 · 357 阅读 · 0 评论 -
JavaScript编写精简的条件语句
条件判断是项目开发过程中最常编写的代码,if/else 应该是使用得最多的,但是如果业务比较复杂的话,大量嵌套的 if/else 必将使得代码可读性变差,也不易维护。今天我们就来了解下更加简洁的条件判断语句吧~一、Array.includes当我们需要对多个条件进行判断的时候,Array.includes 是不错的选择。function PrintStudents(student) { if (student === "Tom" || student === "Mike" || stu原创 2021-08-09 13:50:47 · 168 阅读 · 0 评论 -
lodash中一些比较常用的方法__Vue.js
无意间看到了公司项目中同事有用到lodash的方法就看了一下,它内部封装了诸多对字符串、数组、对象等常见数据类型的处理函数,Lodash 通过降低 array、number、objects、string 等等的使用难度从而让 JavaScript 变得更简单。可以直接调用,比如数组去重,防抖函数等等,这样可以简化很多代码。lodash的方法有很多,官方文档都有说明,文章中提到的是我平时用到的会比较多的一些方法。 Array:适用于数组类型,比如填充数据、查找元素、数组分片等操作 Col原创 2021-07-02 17:16:26 · 434 阅读 · 0 评论 -
JS中Class类的详解
概述 在ES6中,class (类)作为对象的模板被引入,可以通过 class 关键字定义类。它可以被看作一个语法糖,让对象原型的写法更加清晰、更像面向对象编程的语法。 类实际上是个“特殊的函数”,就像你能够定义的函数表达式和函数声明一样,类语法有两个组成部分:类表达式和类声明。严格模式 类和模块的内部,默认就是严格模式,所以不需要使用 use strict 指定运行模式类的声明定义一个类的一种方法是使用一个类声明,即用带有class关键字的类名(这里是“Rectan原创 2021-01-11 13:32:45 · 14637 阅读 · 0 评论 -
js中判断数组的方法
如果用 typeof 判断类型时,array,object和null类型都是 object,所以无法区分数组和对象。以下是几种清晰判断数组的方法:Array.isArray(data) data.constructor === Array data instanceof Array Object.prototype.toString.call(data) === '[object Arr...原创 2019-09-03 17:59:34 · 150 阅读 · 0 评论 -
JS中数组常见的操作方法
js中常见的数据类型 // 基础类型: String // 字符串 Number // 数字 Boolean // 布尔值 Null // 空对象 Undefined // 末定义 Symbol //new in ES 6 // 引用类型: Object // 对象 Array // 数组 Func...原创 2019-08-02 15:44:36 · 109 阅读 · 0 评论 -
JS深浅拷贝
深浅拷贝定义浅拷贝 只是复制了对象的引用地址,两个对象指向同一个内存地址,所以修改其中任意的值,另一个值也会随之变化 深拷贝 将对象及值复制过来,两个对象修改其中任意的值另一个值不会改变 面试中可以这样说,浅拷贝是拷贝一层,深层次的对象级别就拷贝引用,深拷贝是拷贝多层,每一层的数据都会拷贝// 深拷贝 number string boolean null undefined ...原创 2019-08-14 10:43:25 · 78 阅读 · 0 评论 -
容易出错的js面试题目
js原型对象继承 // 函数表达式 var f = function () { this.s = 8 f.prototype.s = 6 } console.log(new f().s) //8 // 函数声明 function Func() { this.name = 1111 console.log(this) } ...原创 2019-08-21 14:51:47 · 203 阅读 · 0 评论 -
学习Vue中那些正则表达式
正则用法JavaScript中正则表达式用法为:/正则表达式特殊字符/修饰符(可选)特殊字符这里列一下正则的特殊字符及其用法,加深理解和映象。* \ 将字符变为特殊或非特殊字符。如 n 变为换行符 \n,特殊符号 ( 变为字符 \(。* ^ 匹配字符串起始位置。* $ 匹配字符串结束位置。* * 匹配前面的子表达式零到多次。* + 匹配前面的子表达式一到多次。...原创 2019-12-03 17:55:51 · 1438 阅读 · 0 评论 -
常用正则表达式
runoo+b,可以匹配runoob、runooob、runoooooob等,+号代表前面的字符必须至少出现一次(1次或多次)。 runoo*b,可以匹配runob、runoob、runoooooob等,*号代表字符可以不出现,也可以出现一次或者多次(0次、 或1次、或多次)。 colou?r可以匹配color或者colour,?问号代表前面的字符...原创 2019-12-03 14:53:15 · 1490 阅读 · 1 评论 -
jsonp跨域原理解析
什么原因使jsonp诞生? 传说,浏览器有一个很重要的安全限制,叫做"同源策略"。同源是指,域名,协议,端口相同。举个例子,用一个浏览器分别打开了百度和谷歌页面,百度页面在执行脚本的时候就会检查这个脚本是否属于百度页面,只有和百度同源的脚本才会执行,这就是同源策略。(相当于给脚本按了一个大门,只允许在大门内部活动) 但是我们在工作中有时又会需要和不同域名的网站进行...原创 2019-09-25 14:57:18 · 104 阅读 · 0 评论 -
js 获取URL中的参数并转换为对象
var url = "http:www.xxx.net/x/x.html?id=898602B8261890349226&aa=123&bb=456" var params = url.split("?")[1].split("&") var obj = {} // for (i = 0; i < params.length; i++) { //...原创 2019-09-11 15:45:48 · 3868 阅读 · 0 评论 -
i++和++i的真正区别
i++是先赋值,然后再自增;++i是先自增,后赋值。用代码表示就是:若 a = i++; 则等价于 a=i;i=i+1;而 a = ++i; 则等价于 i=i+1;a=i; var a = 3 var a = a++ console.log(a) //3 var a = 3 var a = ++a console.log(a) //4 var a = ...原创 2019-09-10 18:18:56 · 90 阅读 · 0 评论