博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript引用类型和函数进阶
阅读量:6552 次
发布时间:2019-06-24

本文共 721 字,大约阅读时间需要 2 分钟。

hot3.png

值类型

即基本数据类型,包括数值类型 number布尔类型 boolean字符串 stringnullundefined

引用类型

即复合数据类型,包括对象 object数组 array函数 function

浅拷贝和深拷贝

基本数据类型赋值之后,修改是独立的,不会互相影响

var a = 3var b = aa = 4console.log(b) //3

浅拷贝,引用数据类型拷贝的是地址,修改会互相影响

var a = { count: 3 }var b = aa.count = 4console.log(b.count) //4

深拷贝,是用内置JSON对象的strinfy()parse()方法

var a = { count: 3 }var temp = JSON.stringify(a)var b = JSON.parse(temp)a.count = 4console.log(b.count) //3

函数

call()可接收多个参数、apply()只能接收数组、bind()绑定函数,

这三个函数都会改变this的指向,让其指向参数对象


递归

函数自己调用自己,递归函数必须有一个结束条件

function fn(n) {    if (n === 1)        return 1    return fn(n - 1) + n} //计算[1, n]的累加和

预解析

在浏览器对JS代码逐条解析前,会先进行预解析:

①提出JS代码中所有的函数

②给所有的全局变量赋值为undefined(变量提升)


转载于:https://my.oschina.net/startjcu/blog/3050443

你可能感兴趣的文章
[LeetCode] 1. Two Sum
查看>>
POJ2538 ZOJ1884 UVA10082 WERTYU【输入输出】
查看>>
HDU5620 KK's Steel(C++语言版)
查看>>
旋转卡壳
查看>>
2016/10/09
查看>>
自定义HorizontalScrollView的scrollBar
查看>>
c++学习笔记和思考
查看>>
27.Docker集群部署
查看>>
DNS保存
查看>>
IOS 多线程02-pthread 、 NSThread 、GCD 、NSOperationQueue、NSRunLoop
查看>>
第一周冲刺第五天博客
查看>>
[LeetCode]Longest Increasing Path in a Matrix
查看>>
集合set-深入学习
查看>>
C#语言学习——面向对象的几大原则
查看>>
Android中asset文件夹和raw文件夹区别
查看>>
第二章家庭作业 2.78
查看>>
Risc-V指令集
查看>>
Python进阶04 函数的参数对应
查看>>
C语言结构体的“继承”
查看>>
linux常用指令
查看>>