0405 手打基础丸

76 阅读2分钟

手打基础丸 🧆 => 精选基础知识,经过多道工序精心制作而成,口感鲜嫩多汁。一口咬下,香气四溢,加上传统前端风味,令人回味无穷...... 助力食用者厚积薄发,夯实根基进阶上层。

JavaScript专题继续😀

JS中判断数据类型的方式?

// 方法一:typeof:用来判断一个变量的基本数据类型
typeof 42 //number
typeof undefined // undefined
typeof {} //object
typeof [] //object
typeof function(){} //function

// 方法二:instanceof:判断一个对象是否是某个构造函数的实例
let arr =[];
arr instanceof Array // true
arr instanceof Object // true

// 方法三:Object.prototype.toString.call() 返回一个对象内部class属性的字符串
Object.prototype.toString.call("hello") //"[object String]"
Object.prototype.toString.call(null) //"[object null]"
Object.prototype.toString.call(undefined) //"[object undefined]"

// 方法四:Array.isArray() 用于判断一个对象是否为数组

对JSON的理解?

JSON(JavaScript Object Notation),一种轻量级的数据交换格式,易于阅读也便于机器解析和生成。

JSON支持字符串、数字、布尔、数组、对象、null数据类型

相对于XML更轻量,阅读编写更简洁,支持数据类型更丰富

常用方法: JSON.parse() 将字符串解析为JS对象 JSON.stringify() 将对象转换为JSON字符串

JSON的键名必须用双引号括起来,不支持函数、日期对象或正则表达式的直接序列化和反序列化。

JS脚本延迟加载(异步加载)的方式?

async或defer异步加载 动态创建script元素 模块化加载工具如RequireJS

async和defer区别?

看懂图就懂

async在script加载完成之后立即执行script

defer在script和html都加载完之后才执行script

*上图非原创,水印自动加上了没找着搁哪去除,海涵😁

JS的类数组对象如何转换为数组?

const arrLike={0:'1', 1:'2'}

// 方法1:Array.prototype.slice.call()
const arr1 = Array.prototype.slice.call(arrLike)

//方法2 Array.from()(ES6)
const arr2 = Array.from(arrLike)

//方法三:扩展运算符
const arr3 = [...arrLike]

类数组对象:通常具备length属性和索引存储但并非数组的对象