web前端知识点牛客网刷题笔记-JS

此集锦是我个人针对我没掌握的知识点,全面的基础知识补充的话感觉菜鸟教程、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方法接受一个包含多个参数的数组。

详解:

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.

经验分享 程序员 微信小程序 职场和发展