手打基础丸 🧆 => 精选基础知识,经过多道工序精心制作而成,口感鲜嫩多汁。一口咬下,香气四溢,加上传统前端风味,令人回味无穷...... 助力食用者厚积薄发,夯实根基进阶上层。
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属性和索引存储但并非数组的对象