- 博客(12)
- 收藏
- 关注
原创 箭头函数与普通函数的区别
(3)普通函数的this指向调用者,箭头函数的 this 永远指向其上下文的 this,任何方法都改变不了箭头函数this指向,如 call() , bind() , apply()箭头函数是匿名函数,ES5匿名函数的语法糖,并且没有自己的this,arguments,super或 new.target。(2)真正需要this的时候如给元素绑定click事件的 时候,执行的回调函数不能使用箭头函数。(4)箭头函数不具有prototype属性,新建的对象的隐式原型无法被指定为箭头函数的原型。
2023-08-11 08:39:02
63
1
原创 深拷贝和浅拷贝
我们知道,对象都是按地址引用进行访问的,浅拷贝的复制只复制了第一层的属性,并没有递归将所有的值复制过来,所以,操作拷贝数据,对原数据产生了影响,故而为浅拷贝。操作拷贝之后的数据会影响到原数据的值 拷贝,就是浅拷贝。操作拷贝之后的数据不会影响到原数据的值 拷贝,就是深拷贝。使用深拷贝可以使新创建的对象和原来的完全脱离关系。
2023-08-07 20:20:58
38
1
原创 继承的五种方法
组合继承,指的是将原型链和借用构造函数技术组合到一起,从而发挥两者之长的一种继承模式。其背后的思想是使用原型链实现对原型上的公共属性和方法的继承,而通过借用构造函数继承来实现对父类私有属性的继承。组合继承的问题: 无论在什么情况下,都会调用两次父类的构造函数:一次是在创建子类原型的时候,另一次是在子类构造函数内部。组合继承避免了原型链和借用构造函数的缺陷,融合了他们的优点,称为JavaScript中最常用的继承模式。JavaScript使用原型链作为实现继承的主要方法,实现的本质是重写原型对象。
2023-08-07 20:03:54
196
1
原创 # 递归函数
2.必须有一个终止处理或计算的出口(必须配合return使用)。如果一个函数在内部可以调用自己,那么这个函数就是递归函数。1.在每一次调用自己时,必须是(在某种意义上)更接近于解;简单理解:函数内部自己调用自己,这个函数就是递归函数。写递归函数时 一定要写上终止条件。在递归函数中不写终止条件会陷入死循环。递归函数的作用和循环效果一样。
2023-08-07 19:52:32
40
1
原创 #面向对象
首先在当前对象中寻找,没有则向原型对象中寻找,在没有在向原型对象的原型对象中寻找 ,找到最外层, 如果没有则为null , 返回undefined。面向对象: 性能没有面向过程好,但是易维护,易复用,易扩展。一:面向过程(pop):根据效果或功能 一步一步的完成 (想到哪写到哪)面向过程: 编码简单,不易维护,不易复用,不易扩展。constructor指向、指针的意思 指向当前原型对象的所属。原型链: 寻找原型对象的过程就是 原型链。特点:多态性,继承性,抽象,封装性。原型: 对象的原始形态。
2023-08-07 19:44:59
32
1
原创 什么是跨域以及三种解决跨域的办法
JSONP 是一种非正式传输协议,该协议的一个要点就是允许用户传递一个 callback 参数给服务端,然后服务端返回数据时会将这个 callback 参数作为函数名来包裹住 JSON 数据,这样客户端就可以随意定制自己的函数来自动处理返回数据了。利用 script 标签不受同源策略影响,可以跨域引入外部资源的特性,让服务器端返回可执行的 JS 函数,将要返回的数据作为参数传进函数,以此实现跨域加载数据的目的。当调用 Ajax 时:调用 Ajax 发送请求的页面 所在的域,和被请求页面所在的域不一致。
2023-08-04 08:19:59
131
1
原创 ##闭包函数
使用闭包函数的一个常见场景是在函数内部定义另一个函数,并返回内部函数作为结果。这样,内部函数可以访问外部函数的局部变量,即使外部函数已经执行完毕,这些局部变量的状态仍然保留在内部函数中。闭包函数可以用来创建具有私有变量和数据封装的功能模块。闭包函数(Closure Function)是一种特殊的函数,它可以捕获并保存在其定义时可访问的外部变量。换句话说,闭包函数可以记住并访问其创建时所处的作用域,即使在其定义之外被调用时也可以使用这些变量。2.内部函数使用了外部函数的变量或参数。10.img图片对象上报。
2023-08-01 14:40:49
35
1
原创 Proxy
Proxy 对象用于定义或批改某些操作的自定义行为,能够在外界对指标对象进行拜访前,对外界的拜访进行改写。Proxy的主要作用就是可以对 对象进行拦截,以及对数据读取、修改的过滤保护。Proxy,代理,是ES6新增的性能,能够了解为代理器(即由它代理某些操作)。
2023-07-20 17:56:28
42
1
原创 ES6 Class 类
在ES6中,class (类)作为对象的模板被引入,可以通过 class 关键字定义类。class 的本质是 function。它可以看作一个语法糖,让对象原型的写法更加清晰、更像面向对象编程的语法。类表达式可以为匿名或命名。// 匿名类this.a = a;// 命名类this.a = a;
2023-07-17 08:26:13
48
原创 Promise
只要这两种情况发生,状态就凝固了,不会再变了,会一直保持这个结果,这时就称为。Promise对象代表一个异步操作,有三种状态:pending(进行中)、fulfilled(已成功)和rejected(已失败)。所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。这与事件(Event)完全不同,事件的特点是,如果你错过了它,再去监听,是得不到结果的。有了Promise对象,就可以将异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数。
2023-07-17 08:03:52
23
原创 Symbol
Symbol概述 symbol 是ES6 引入了一种新的基本数据类型(原始数据类型) Symbol ,表示独一无二的值。3)Symbol定义的属性不可以使用for...in进行遍历,可以使用Reflect.ownKeys()获取所有的键名,可以通过Object.getOwnPropertySymbols获取所有的Symbol值。这是因为生成的 Symbol 是一个原始类型的值,不是对象。2)Symbol 值不能与其他类型的值进行运算,会报错。1)Symbol的值是唯一的,用来解决命名冲突的问题。
2023-07-12 14:27:42
49
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人