知识点:
数据类型
基本数据类型:数字 字符串 null 布尔值 唯一值 undefined
引用数据类型:数组 对象 函数 set map
随机数的公式
Math.floor(Math.randow()*(最大值-最小值)+最小值)
== 和 === 区别?=== 和es6那个函数作用一样?
==比较两边的值
===比较两边的值并且比较类型
===相当于es6中的Object.is函数
Object.is函数 函数的作用:比较两个值是否严格相等,或者说全等 ===
offset、client、scroll系列:
1、offset:
offsetHeight 本身的height + 上下的border + 上下的padding
offsetWidth 本身的width + 左右的border + 左右的padding
offsetLeft 父元素没有定位,相当于距离左侧浏览器的距离
父元素有定位,相当于距离父元素左侧的距离
offsetTop 父元素没有定位,相当于距离上侧浏览器的距离
父元素有定位,相当于距离父元素上侧的距离
2、client
clientHeight 本身的height + 上下的padding
clientWidth 本身的width + 左右的padding
cilentLeft 左侧边框 border-left
clientTop 上边框 border-top
3、scroll
scrollWidth 本身宽度 + 滚动条卷去的最大宽度
scrollHeight 本身高度 + 滚动条卷去的最大高度
scrollLeft 滚动条卷去的宽度
scrollTop 滚动条卷去的高度
代码打印出啥
第一次打印:undefined 0 0 0
第二次打印:undefined 0 1 2
第三次打印:undefined 1 1
打印:2 10 20 10
箭头函数和普通函数的区别:
普通函数通过function声明
箭头函数通过=>声明
箭头函数不能用于构造函数
普通函数this指向调用这个函数的地方
箭头函数this指向声明这个函数的地方
如何在多个Promise执行完成之后做一些操作?多个Promise同时执行有一个执行完了就进行一些操作?
Promise.all([多个Promise]).then(res=>{})
Promise.race([多个Promise]).then(res=>{})
默认导出和普通导出区别
// a.js
默认导出
const test = "测试"
export default {
name:"李白",
age:18,
test
}
普通导出
export function getName(){
console.log(123)
}
export const cat = "皮皮"
// b.js
默认导入
import aObj from './a.js'
console.log(aObj.name) //李白
普通导入
import {getName,cat} from './a.js'
console.log(cat)
getName()
编写一个动物类,该类包含name的属性,和say的方法。 通过say方法可以打印动物说话了。编写一个Dog类继承动物类,要求该类中包含颜色的属性,该类重写say方法,要求打印父类的say方法里的内容,并且打印 动物颜色+动物名字+“叫了”。
class Animal {
constructor(name){
this.name = name;
}
say(){
console.log("动物说话了")
}
}
class Dog extends Animal {
constructor (name,color){
super(name)
this.color = color
}
say(){
super.say()
console.log(this.color+this.name+"叫了")
}
}
const dog = new Dog("毛毛","金色")
dog.say()