JavaScript高级
文章平均质量分 55
XiaoYu2002-AI
大家好,我是小余,一名前端程序员。向大家分享最实用的技术笔记
展开
-
ES13-对象属性判断hasOwn方法以及其他
函数式编程慢慢又流行起来了,在Vue或者说React中逐渐的替代掉了面向对象的抽象方式,不过也确实,函数式编程会更加的灵活,面向对象会更加笨重一些。写很多东西的话,面向对象就会变得不够方便了。函数作为JS的一等公民,可以传来传去,回调起来也很方便。而且前端主要还是要处理数据,而不是业务的抽象,所有大多数是不需要用到复杂的类的。那么和之前学习的Object.prototype.hasOwnProperty有什么区别呢?Object中新增了一个静态方法(类方法): hasOwn(obj, propKey)原创 2024-04-11 22:23:23 · 515 阅读 · 0 评论 -
ES12模块总结
s 有相同的目标,那么他们的 target 对象是一样的。对其中一个调用 deref 的结果将与对另一个调用 deref 的结果匹配(在同一个作业中),您不会从其中一个获取目标对象,而是从另一个获取未定义的对象。因为输出不了真正的内容,只会返回undefined,因为弱引用内容不可达,我们接收的obj1里的内容是WeakRef变成的弱引用对象,必须要使用deref来辅助输出。如果你想为什么我不直接使用:console**.你最多说console**.原创 2024-04-11 22:22:16 · 1013 阅读 · 0 评论 -
ES11-可选链和其他知识补充
在ES11中,对其进行了标准化,for…循环用于迭代可迭代对象(如数组)的元素。循环用于枚举对象的属性,原创 2024-04-11 22:20:26 · 217 阅读 · 0 评论 -
ES11-BigInt和空值合并运算符使用
【代码】ES11-BigInt和空值合并运算符使用。原创 2024-04-11 22:19:54 · 194 阅读 · 0 评论 -
ES10-fromEntries方法和trim
【代码】ES10-fromEntries方法和trim。原创 2024-04-11 22:19:14 · 134 阅读 · 0 评论 -
ES10-flat和flatMap的使用
【代码】ES10-flat和flatMap的使用。原创 2024-04-11 22:18:38 · 182 阅读 · 0 评论 -
ES8-padStart和ES7 - Array Includes padEnd和ES9
Trailing Commas:尾部逗号。Trailing:尾部。原创 2024-04-11 22:17:53 · 351 阅读 · 0 评论 -
Set-Map-Map的基本使用过程
【代码】Set-Map-Map的基本使用过程。原创 2024-04-11 22:16:47 · 365 阅读 · 0 评论 -
Set-Map数据结构的基本介绍
Strong Reference:强引用(就正常的引用就是强引用)的,那么Set有一个非常常用的功能就是。Weak Reference:弱引用。我们可以发现Set中存放的元素是。原创 2024-04-11 22:14:27 · 508 阅读 · 0 评论 -
Symbol-对象属性的痛点和Symbol的作用
如果我们想要让两个symbol的值能够一样的话?这个部分我们通常称为description。原创 2024-04-10 23:16:21 · 491 阅读 · 0 评论 -
数字表示-其他进制和长数字表示方法
【代码】数字表示-其他进制和长数字表示方法。原创 2024-04-10 23:15:17 · 94 阅读 · 0 评论 -
对象的引用赋值-浅拷贝-深拷贝
JS 分为原始类型和引用类型,对于原始类型的拷贝,并没有深浅拷贝的区别,我们讨论的深浅拷贝都只针对引用类型。浅拷贝和深拷贝都是创建一份数据的拷贝。深拷贝和浅拷贝的区别?原创 2024-04-10 23:14:42 · 404 阅读 · 0 评论 -
函数增强-箭头函数的额外强调
【代码】函数增强-箭头函数的额外强调。原创 2024-04-10 23:10:53 · 327 阅读 · 0 评论 -
函数增强-默认参数和对象解构的结合
【代码】函数增强-默认参数和对象解构的结合。原创 2024-04-10 23:10:00 · 211 阅读 · 0 评论 -
函数增强-默认参数的用法和注意事项
【代码】函数增强-默认参数的用法和注意事项。原创 2024-04-10 23:08:30 · 130 阅读 · 0 评论 -
ES6-模板字符串-展开运算符
标签模板字符串是 JavaScript 中一种新的字符串模板语法,用于将字符串和变量结合起来。它使用反引号(`)来标识字符串,并在字符串中使用 ${expression} 来插入变量。标签模板字符串可以更好地控制字符串插值的语法,并且可以使用函数来自定义字符串的构建过程。all in js的思想,就是所有东西都写在js里面,包括了html in js,css in js ,js in js。标签模板字符串会用在这里,以后就会用到。原创 2024-04-10 23:07:46 · 418 阅读 · 0 评论 -
let-const块级作用域浅析
let-const块级作用域原创 2024-04-10 23:06:11 · 1149 阅读 · 0 评论 -
let-const变量不会添加到window上
全局环境记录在逻辑上是一条记录,但它被指定为封装的复合记录对象环境记录和声明性环境记录。对象环境记录具有as。原创 2024-04-10 23:03:42 · 406 阅读 · 0 评论 -
ES6~ES13新特性(一)
执行上下文栈**:Execution Context Stack,用于执行上下文的栈结构; - **执行上下文**:Execution Context,代码在执行之前会先创建对应的执行上下文; - **变量对象**:Variable Object,上下文关联的VO对象,用于记录函数和变量声明; - **全局对象**:Global Object,全局执行上下文关联的VO对象; - **激活对象**:Activation Object,函数执行上下文关联的VO对象; -原创 2024-04-10 23:01:35 · 884 阅读 · 0 评论 -
手写apply-call实现和抽取封装
但是上面还有个小缺点,那就是exefn函数要是不在跟hccall这些同一个文件的话,那岂不是还需要进行引入之类的操作。那这个时候我们就可以将这个函数放入原型链中进行复用。原创 2024-04-10 22:57:47 · 294 阅读 · 0 评论 -
ES6-数组和对象的解构以及应用
【代码】ES6-数组和对象的解构以及应用。原创 2024-04-10 22:56:52 · 228 阅读 · 0 评论 -
(掌握)ES6-对象字面量的增强写法
【代码】(掌握)ES6-对象字面量的增强写法。原创 2024-04-09 10:53:55 · 341 阅读 · 0 评论 -
ES6-严格面向对象中的多态表现
【代码】ES6-严格面向对象中的多态表现。原创 2024-04-09 10:53:17 · 242 阅读 · 0 评论 -
ES6-babel工具ES6转ES5代码
代号巴别塔,将ES6的代码转化为ES5,用来适应低配置的浏览器,这里主要讲述概念,还有那个工具网站因为在国外一直打不开成功转化代码的配置:(因为网站会自动根据当前浏览器适配,如果你浏览器支持他可能就不给你适配了,所有需要调整一下,具体的后面的课程会讲)原创 2024-04-09 10:52:06 · 858 阅读 · 0 评论 -
ES6-继承自内置类进行扩展、类的混入mixins写法
置方法上做一些扩展。例如获取每个数组的第二个之类的,自己实现出来,将实现过程封装起来。通过这个方式,我们就能够实现一些内置的方法,甚至。原创 2024-04-09 10:45:52 · 252 阅读 · 0 评论 -
ES6-类通过extends实现继承特性
前面我们花了很大的篇幅讨论了在ES5中实现继承的方案,虽然最终实现了相对满意的继承机制,但是过程却依然是非常繁琐的在ES6中新增了使用extends关键字,可以方便的帮助我们实现继承:继承的类:子类继承父类。子类又叫做父类又叫做。原创 2024-04-09 10:43:50 · 313 阅读 · 0 评论 -
ES6-类中静态方法的定义(类方法)
类方法是指放在类中的方法,但通常也叫做类中的静态方法,他们其实是同一个东西。原创 2024-04-09 10:42:59 · 415 阅读 · 0 评论 -
ES6-类和对象的访问器方法编写
【代码】ES6-类和对象的访问器方法编写。原创 2024-04-09 10:42:11 · 275 阅读 · 0 评论 -
ES6-class类和function构造函数
如果我们希望在创建对象的时候给类传递一些参数,这个时候应该如何做呢?每个类都可以有一个自己的构造函数(方法),这个方法的名称是固定的constructor;当我们通过new操作符,操作一个类的时候会调用这个类的构造函数constructor每个类只能有一个构造函数,如果包含多个构造函数,那么会抛出异常当我们通过new关键字操作类的时候,会调用这个constructor函数,并且执行如下操作:在内存中创建一个新的对象(空对象);原创 2024-04-09 10:36:01 · 437 阅读 · 0 评论 -
ES6实现继承
没有实例对象的情况下,能不能调用函数?不可以因为 Person 是一个函数,而不是一个实例对象。learn 方法是在 Person 的 prototype 上的,只能在 Person 的实例上调用。如果要调用 learn 方法,需要先创建一个 Person 的实例,然后在实例上调用 learn 方法//添加在Person原型上的方法也称为 实例方法console.log("小余在学习");原创 2024-04-09 10:34:22 · 1201 阅读 · 0 评论