function

文章目录

函数

函数调用的实际过程

JS 中函数调用的实际过程是

  • 函数调用 -> 压入函数栈(保存函数调用过程中所有变量)
  • 函数调用结束 -> 弹出函数栈(释放函数所有的变量)

所以,每次调用函数时,拿到的变量其实都不一样。函数结束时当前函数内的变量都将被销毁。

检测

typeof 检测函数返回 function

typeof 检测对象和数组返回 object, 判断这两个中是否是数组可以用 arr instanceof Array, 如果返回 true,就是真数组。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var num = 2
function ins(x) {
x++
}
ins(num)
console.log(num) // 2,传入的值如果是基本数据类型,函数会创建一个参数的副本,在函数里修改的一切不会影响传进来的数据本身。

var arr = [2, 3]
function arr(arr, n) {
arr.push(n)
}
add(arr, 4)
console.log(arr) // [2, 3, 4], 对复杂数据类型的修改,会影响到数据本身。
//那么他是否也建立了一个副本指向堆的地址呢?(是的,他整了一个!)
ins.name // ins 返回函数名字
ins.length // 1 返回函数形参个数
分享到:

评论完整模式加载中...如果长时间无法加载,请针对 disq.us | disquscdn.com | disqus.com 启用代理