![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javascript
#咸菜
又菜又咸鱼
展开
-
扩展运算符
(1)复制数组数组是复合的数据类型,直接复制的话,只是复制了指向底层数据结构的指针,而不是克隆一个全新的数组。上面代码中,a2并不是a1的克隆,而是指向同一份数据的另一个指针。修改a2,会直接导致a1的变化。ES5 只能用变通方法来复制数组。上面代码中,a1会返回原数组的克隆,再修改a2就不会对a1产生影响。扩展运算符提供了复制数组的简便写法。上面的两种写法,a2都是a1的克隆。(2)合并数组扩展运算符提供了数组合并的新写法。上面代码中,a3和a4是用两种不同方法合并而成的新数组,但是它们的成员都是原创 2022-07-06 13:23:04 · 586 阅读 · 0 评论 -
ES6中的解构赋值+重命名
es6解析结构赋值+重命名原创 2022-07-04 19:36:47 · 1173 阅读 · 0 评论 -
解析赋值的用途
(1)交换变量的值上面代码交换变量x和y的值,这样的写法不仅简洁,而且易读,语义非常清晰。(2)从函数返回多个值函数只能返回一个值,如果要返回多个值,只能将它们放在数组或对象里返回。有了解构赋值,取出这些值就非常方便。(3)函数参数的定义解构赋值可以方便地将一组参数与变量名对应起来。(4)提取 JSON 数据解构赋值对提取 JSON 对象中的数据,尤其有用。上面代码可以快速提取 JSON 数据的值。(5)函数参数的默认值指定参数的默认值,就避免了在函数体内部再写;这样的语句。(6)遍历 Map 结原创 2022-07-04 18:08:01 · 244 阅读 · 0 评论 -
es6运算符扩展
1. 指数运算符**ES2016 新增了一个指数运算符()。**这个运算符的一个特点是右结合,而不是常见的左结合。多个指数运算符连用时,是从最右边开始计算的。上面代码中,首先计算的是第二个指数运算符,而不是第一个。指数运算符可以与等号结合,形成一个新的赋值运算符(=)。**2.链判断运算符 3.Null 判断运算符??读取对象属性的时候,如果某个属性的值是null或undefined,有时候需要为它们指定默认值。常见做法是通过||运算符指定默认值。但是属性的值如果为空字符串或false或0,默原创 2022-07-04 16:54:08 · 129 阅读 · 0 评论 -
跨域访问问题
问题背景:客户端3000端口访问服务端5000端口,形成跨域,无法访问,报错如下:Access to XMLHttpRequest at ‘http://localhost:5000/students’ from origin ‘http://localhost:3000’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.解决方法1原创 2022-06-01 15:11:31 · 321 阅读 · 0 评论 -
react基础-todolist案例相关知识点
1. 拆分组件、实现静态组件,注意:className和style的写法(还有onClick等驼峰式命名)先用总体的js和css文件进行盛放html文件的部分内容(结构)和css样式结构,分别放于App.jsx和新建App.css(记得App.jsx引入App.css),测试是否正常运行与显示(好的编码测试习惯,不要都拆了,甚至改变了内容再进行测试)(注意拆分的时候要看样式是否用到一些id)根据实际情况拆分组件,新建空的组件文件夹进行建立各个组件,各个组件中包含index.jsx文件和ind原创 2022-05-30 19:09:03 · 81 阅读 · 0 评论 -
js中的static
一、查阅MDN文档:定义:类(class)通过 static 关键字定义静态方法。不能在类的实例上调用静态方法,而应该通过类本身调用。这些通常是实用程序方法,例如创建或克隆对象的功能。静态方法调用同一个类中的其他静态方法,可使用 this 关键字。class StaticMethodCall { static staticMethod() { return 'Static method has been called'; } static anotherSt原创 2022-05-30 15:52:29 · 3132 阅读 · 0 评论 -
回调函数的返回值需设为函数的情况
问题背景:回调函数是调用函数了的返回了结果的,所以该回调函数的返回值应该是函数,在返回函数中进行处理事务,否则没触发动作就会发起处理!如:export class Item extends Component { //鼠标是否移入的状态 state = {mouse:false} //改变鼠标状态 handleMouse = (flag) => { return () => { this.setState({mouse:原创 2022-05-29 23:06:23 · 190 阅读 · 0 评论 -
js解构对象的基本赋值
var o = {p: 42, q: true};var {p, q} = o;console.log(p); // 42console.log(q); // true原创 2022-05-27 16:00:43 · 55 阅读 · 0 评论 -
react的props属性
props可以从外部像类传递参数,引入prop-types.js文档,利用propTypes进行类型和必要性的限制,利用defaultProps设置默认值,这两个属性应写在类本身上,所以用static定义(不推荐用Person.propTypes,实际开发不简洁),props不可修改 class Magic extends React.Component{ //对标签属性(props)进行类型、必要性的限制 写在类本身上 static prop原创 2022-04-26 00:33:02 · 1578 阅读 · 0 评论 -
js展开运算符...的用途和react中的展开运算符...
一、展开一个数组let arr = [1,2,3]console/log(...arr) //1 2 3二、连接数组let arr1 = [1,2,3]let arr2 = [4,5,6]ler arr = [...arr1,...arr2]console/log(arr) //[1,2,3,4,5,6]三、函数不定参数function sum(...nums){ return nums.reduce((pre,cur)=> { return pre + sur })原创 2022-04-25 18:26:50 · 627 阅读 · 0 评论 -
js创建绑定函数bind
创建绑定函数bind() 最简单的用法是创建一个函数,不论怎么调用,这个函数都有同样的 this 值。JavaScript新手经常犯的一个错误是将一个方法从对象中拿出来,然后再调用,期望方法中的 this 是原来的对象(比如在回调中传入这个方法)。如果不做特殊处理的话,一般会丢失原来的对象。基于这个函数,用原始的对象创建一个绑定函数,巧妙地解决了这个问题:this.x = 9; // 在浏览器中,this 指向全局的 "window" 对象var module = { x: 81, ge原创 2022-04-25 10:52:53 · 489 阅读 · 0 评论 -
HTML <script> 标签的 type 属性
问题描述:自己用VSCODE写代码时,误把<script> 标签的type属性值写为babel/text,查阅MDN才知道:HTML <script> 标签的 type 属性定义:必需的 type 属性规定脚本的 MIME 类型。type 属性标识 标签之间的内容。MIME 类型由两部分组成:媒介类型和子类型。对于 JavaScript,其 MIME 类型是 “text/javascript”。常见的有:text/javascripttext/ecmascrip原创 2022-04-20 23:56:27 · 734 阅读 · 0 评论 -
js中的class继承
class Person{ //构造器方法 constructor(name,age){ //构造器中的this指向的是--类的实例 this.name = name this.age = age } //一般方法 没有function哈哈哈 speak(){ ...原创 2022-04-20 23:10:33 · 1987 阅读 · 0 评论 -
js类的创建与调用
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>js类原创 2022-04-20 17:38:21 · 1307 阅读 · 0 评论 -
prototype和_proto_([[prototype]])区别
prototype:函数才会有的属性 (类是Function实例,是函数)_proto_:每个对象都有的一个属性([[prototype]]与__proto__含义一样)他们之间的关系 Object.__proto__ === Function.prototype; Function.prototype.__proto__ === Object.prototype; Object.prototype.__proto__原创 2022-04-20 16:43:31 · 787 阅读 · 0 评论 -
vue项目如何在关闭窗口时清空storage
mounted(){ // 关闭浏览器窗口的时候清空浏览器缓存在localStorage的数据 window.onbeforeunload = function (e) { var storage = window.localStorage; storage.clear() } }...原创 2021-12-09 15:30:26 · 2023 阅读 · 0 评论 -
error ‘scope‘ is defined but never used vue/no-unused-vars
首先、ESLint 的配置依旧要用 ‘vue/no-unused-vars’: ‘off’ ,其次、编辑器 VSCode 也要进行配置,添加一条 “vetur.validation.template”: false (前提是启用了 Vetur 插件)原创 2021-10-23 19:49:03 · 845 阅读 · 0 评论 -
js给列表添加点击事件的异步问题
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>js原创 2021-10-22 15:52:31 · 954 阅读 · 0 评论 -
js闭包是什么?
当函数可以记住并访问所在的词法作用域时,就产生了闭包,即使函数是在当前词法作用域之外执行的。function foo() { var a = 1; // a 是一个被 foo 创建的局部变量 function bar() { // bar 是一个内部函数,是一个闭包 console.log(a); // 使用了父函数中声明的变量 } return bar();}foo(); // 1foo() 函数中声明了一个内部变量 a , 在函数外部是无法访问的原创 2021-10-22 15:23:35 · 66 阅读 · 0 评论 -
理解 JavaScript 的 async/await
转载:https://segmentfault.com/a/1190000007535316转载 2021-10-16 23:47:53 · 35 阅读 · 0 评论