自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 js之Reflect

Reflect 是一个内置的对象,它提供拦截 JavaScript 操作的方法,是 ES6 为了操作对象而提供的新 API。Reflect不是一个函数对象,因此它是不可构造的。Reflect的所有属性和方法都是静态的。意义现阶段,某些方法同时在Object和Reflect对象上部署,未来的新方法将只部署在Reflect对象上。修改某些Object方法的返回结果,让其变得更规范化。如Object.defineProperty(obj, name, desc)在无法定义属性时,会抛出一个错误,而Re

2021-02-28 23:20:56 15893

原创 js 解构赋值

1. 数组的解构赋值// 对不需要的值,使用',',将该该值略过。const [first, , third, ...rest] = [1, 2, 3, 4, 5];console.log(first) // 1console.log(third) // 3console.log(rest) // [4, 5]const [a, b = 'default'] = []console.log(a,b) // undefined 'default'String、Set、Map等所有可遍历对

2021-02-22 22:12:40 720

原创 js正则表达式的修饰符

1. i修饰符ignore - 不区分大小写: 将匹配设置为不区分大小写,搜索时不区分大小写: A 和 a 没有区别。2. g修饰符global - 全局匹配:查找所有的匹配项。3. m修饰符multi line - 多行匹配:使边界字符 ^ 和 $ 匹配每一行的开头和结尾,记住是多行,而不是整个字符串的开头和结尾。es6新增4. y修饰符sticky -“粘连”修饰符: y修饰符的作用与g修饰符类似,也是全局匹配,后一次匹配都从上一次匹配成功的下一个位置开始。不同之处在于,g修饰符只要剩

2021-02-18 20:49:29 1658

原创 js数据结构之Map

1. 定义Map 对象保存键值对,并且能够记住键的原始插入顺序。任何值(对象或者原始值) 都可以作为一个键或一个值。键的比较:NaN 是与 NaN 相等的(虽然 NaN !== NaN),剩下所有其它的值是根据=== 运算符的结果判断是否相等。创建:let map = new Map([iterable])Iterable 可以是一个数组或者其他 iterable 对象,其元素为键值对(两个元素的数组,例如: [[ 1, ‘one’ ],[ 2, ‘two’ ]])。 每个键值对都会添加到新的 M

2021-02-17 22:04:51 1042

原创 js数据结构之Set

1. 定义Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。Set中的元素只会出现一次,即 Set 中的元素是唯一的。2.实例属性和方法Set.prototype.size返回 Set 对象中的值的个数Set.prototype.add(value)在Set对象尾部添加一个元素。返回该Set对象。Set.prototype.clear()移除Set对象内的所有元素。Set.prototype.delete(value)移除Set中与这个值相等的元素,返回Set.pro

2021-02-17 21:12:15 507

原创 js函数的不定参数

es5function sum () { let num = 0 // arguments是伪数组使用数组方法需要先转换为数组 Array.prototype.forEach.call(arguments, function (item) { num += item * 1 }) return num}es6es6中不建议使用arguments,故使用展开运算符存储参数function sum (...nums) { let num = 0 nums.forE

2021-02-17 14:21:16 6071

原创 js参数的默认值

es5:function f (x, y, z) { if (x === undefined) { x = 0 } if (y === undefined) { y = 1 } if (z === undefined) { z = 2 } return x + y + z}es6:function f (x = 0, y = 1, z = 2) { return x + y + z}// 注意,如果中间的参数想使用默认值,那么给其赋值u

2021-02-17 14:11:20 524

原创 js的继承

ES6的继承class Parent0 { constructor (name = 'parents0') { this.name = name }}class Child0 extends Parent0 { constructor (type = 'child0') { super() // 无需定义父类之外额外属性时,constructor和super皆可省略,构造函数会隐式执行。 this.type = type }}let s0 = ne

2021-02-16 22:24:14 116

原创 js静态方法

es5:let Person = function (type) { this.type = type}// 静态方法Person.breathe = function () { console.log('breathing')}// 原型上的方法Person.prototype.speak = function () { Person.breathe() console.log('hhhhhh')}let student = new Person('student')

2021-02-16 21:27:34 445

原创 js类属性的setter和getter

在“类”的内部可以使用get和set关键字,对某个属性设置存值函数和取值函数,拦截该属性的存取行为。class A { constructor () { this._a = 'a' } set a (val) { if (Object.prototype.toString.call(val) !== '[object String]') { this._a = 'error' } else { this._a = val } }

2021-02-16 21:07:33 934

原创 js的类

es5:let Person = function (type) { this.type = type}Person.prototype.speak = function () { console.log('hhhhhh')}let student = new Person('student')let teacher = new Person('teacher')student.speak = function () { console.log('I love studyin

2021-02-16 20:42:08 87

原创 js数组方法find()和findIndex()

查找数组es5:let resultlet arr = [1, 2, 3, 4, 5]let findArr = arr.filter(item => { return item === 4})if (findArr.length !== 0) { result = true} else { result = false}es6:findfind() 方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined。let arr = [1, 2, 3,

2021-02-16 20:19:45 3074

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除