Js引用类型和函数进阶
值类型
即基本数据类型,包括数值类型 number、布尔类型 boolean、字符串 string、null和undefined
引用类型
即复合数据类型,包括对象 object、数组 array和函数 function
浅拷贝和深拷贝
基本数据类型赋值之后,修改是独立的,不会互相影响
var a = 3
var b = a
a = 4
console.log(b) //3
浅拷贝,引用数据类型拷贝的是地址,修改会互相影响
var a = { count: 3 }
var b = a
a.count = 4
console.log(b.count) //4
深拷贝,是用内置JSON对象的strinfy()和parse()方法
var a = { count: 3 }
var temp = JSON.stringify(a)
var b = JSON.parse(temp)
a.count = 4
console.log(b.count) //3
函数
call()可接收多个参数、apply()只能接收数组、bind()绑定函数,这三个函数都会改变this的指向,让其指向参数对象
递归
函数自己调用自己,递归函数必须有一个结束条件
function fn(n) {
if (n === 1)
return 1
return fn(n - 1) + n
} //计算[1, n]的累加和
预解析
①提出JS代码中所有的函数
②给所有的全局变量赋值为undefined(变量提升)
本文内容仅供个人学习/研究/参考使用,不构成任何决策建议或专业指导。分享/转载时请标明原文来源,同时请勿将内容用于商业售卖、虚假宣传等非学习用途哦~感谢您的理解与支持!