此集锦是我个人针对我没掌握的知识点,全面的基础知识补充的话感觉菜鸟教程、w3school不错
1.Promise 对象
介绍:可以将异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数。
Promise.prototype.then方法:链式操作
Promise.prototype.catch方法:捕捉错误
2.页面的性能指标详解:
白屏时间(first Paint Time)——用户从打开页面开始到页面开始有东西呈现为止
首屏时间——用户浏览器首屏内所有内容都呈现出来所花费的时间
用户可操作时间(dom Interactive)——用户可以进行正常的点击、输入等操作,默认可以统计domready时间,因为通常会在这时候绑定事件操作
总下载时间——页面所有资源都加载完成并呈现出来所花的时间,即页面 onload 的时间
3.JavaScript中 call和apply
call和apply的作用都是改变this作用域,都是在特定作用域中调用函数。当一个对象没有某个方法,而其他对象有,我们就可以使用call或apply实现某个方法的复用。
call和apply使用方法基本相同,唯一不同之处就是它们的参数规则:call方法接受一个参数列表,而apply方法接受一个包含多个参数的数组。
详解:https://blog.wy310.cn/2019/12/18/what-is-call-and-apply/
4.数组本身也是对象
5.if传入对象的true和false
if(condition)的condition求值结果若非布尔值,ECMAScript会自动调用Boolean()转换函数将结果转换为布尔值。转换规则为:
数据类型 | 转换为true的 | 转换为false的 |
String | 任何非空字符串 | “”(空字符串) |
Number | 任何非零数值(包括无穷大) | 0和NaN |
Object | 任何对象 | null |
undefined | undefined |
6.声明数据类型
var obj = ( );错误
var obj = [ ];声明数组对象
var obj = { };声明对象
var obj = / /;声明正则对象
7.函数提升优先级高于变量提升
var a = 10;
function a(){}
console.log(typeof a) 输出:“function”
8.
输出:4400 4400
9.高深,没懂
Math对象包含max()方法,用于确认一组数值中的最大值。该方法接收任意多个数值参数,不接受数组参数。
要找到数组中的最值,可以使用apply()方法,D表示将Math.max()方法的执行环境切换到null上,apply()方法接收两个参数,第二个参数是一个数组。
10.立即执行函数
11.js数据类型
内置类型(Built-in)Null Undefined Boolean Number String Object Symbol 7种
原始类型(Primitives)Null Undefined Boolean Number String Symbol 6种
基本数据类型:Number,String,Boolean,Undefined,Null
复杂数据类型:Object,Array,Function,RegExp,Date,Error
全局数据类型:Math
12.this对象
13.