赞
踩
参考b站 李立超老师
var 没有 块级作用域
undefined (变量创建了,但是没有赋值)
var 会提升,在所有代码执行前,先执行,所以 b 已经创建,但是没有赋值罢了。
立即执行函数:
因为 var 没有块级作用域,使用闭包,外部就 不能访问 此变量了。
const 变量名 最好都大写
有可能会改变的,用let。
var 最好就别使用了。
变量的 声明 和 赋值 一起进行
以 函数返回值的形式,去 解构赋值 给变量a,b新的值
想跳过中间一个,只要后一个变量(, ,)跳过赋值
想要把 后面的元素 全部给 c,(剩余操作符 … )c 就是数组了。
(剩余元素必须放在最后一个)
相对使用较少
name:a 不建议写,影响代码的可读性。
const {a,b,c} = obj,建议写,简化代码的同时,也保证了可读性。
利用数组的解构,交换两个变量的值。(和 python 好像)
写起来有些麻烦
是可以遍历的数据,就可以展开(数组居多)
数组里的元素,展开为参数,传入js函数。
在新数组里,展开其他数组,把其他数组的元素复制到新数组中
返回值必须是个表达式(有值的语句)
返回值是对象,必须加()
{ } 代码块中的语法和普通函数没有区别
少用 this,但是还是得用。
全局作用域的 this 是 window
此时,this 是 hello
无法通过 call() , apply() , bind() 修改
无法作为 构造函数 使用(不让new)
export default xxx;
一个模块中只有一个默认导出。
在代码的 最后导出,不会影响前面的命名导出。导出是堆加(前面的不会消失),不是覆盖。
export {obj, fn}
在网页中:
变量名必须和导出的一致,不然就找不到了。
import {b,c} from './m1.js'
使用 as 语句,把变量名更改 (python)
import {b as hello,c} from './m1.js'
(和 java中的思想差不多)语法不同
类中的所有代码,都会在严格模式下执行。
严格模式下,其中的一个特点就是,函数的 this 不在是 window,而是 undefined
在开发时,某些场景下,希望方法中的this是固定的,不会因为调用方式不同而改变。
有多个大部分代码都一样的类,想要创建一个模板,可以再次创作。
动物类 – 狗 - 蛇 --等。
效果一样。
属性可以一样,但是我们想要 sayHello()方法 不一样
子类 继承 父类 后,将获得 父类中 的 所有属性和方法
也可以创建同名的属性或方法,来对父类进行 重写
super() 调用父类的构造函数,确保父类正常初始化
父类 构造函数中:
实例 new
实例属性 和 实例方法,必须先创造实例,才能调用。
类属性(静态属性)(Math,random)
静态方法的 this 不是实例对象!
复习!React中使用的频率高一些。
目前来看:无意义版
当前元素,元素索引,当前数组(item, index, array)
返回的 result 是新数组
const result = arr.map(item => "<li>"+item+"</li>");
当前元素,元素索引,当前数组(item, index, array)
从一个数组中,获得符合条件的元素。过滤
true:全部打印,false:都不打印
还可以自己写逻辑,筛选符合条件的元素,返回到新array中
初始值没有指定,就会从第二个元素开始计算
reduce( (previousValue,currentValue),初始值)
reduce( (previousValue, currentValue, currentIndex, array),initialValue)
arr = [1,2,3,4,5]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。