<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>简单数据类型和复杂数据类型</title> </head> <script> // 数据类型和内存分配 string number null undefined boolean都属于基本数据类型 也叫值类型 var timer = null; console.log(typeof (timer));//object类型 当时设计人员没有想好,类型应该是null的 // 引用类型 复杂数据类型 仅仅在栈里存地址,然后指向堆里找值 如new Object/Array/Date // 简单数据类型的传参 形参实参互不影响 a在函数中输出就是11 function fn1(a) { a++; console.log(a); } var x = 10; fn1(x); console.log(x); //实参x依旧是不变的10 // 复杂数组类型的传参 由于涉及到地址,所以形参实参分别在客栈开辟自己的空间,但是地址却是相同的,所以指向的值也是相同的 function Person(name) { this.name = name; } function fn2(b) { // b=p 地址的传递 b——>'0xxafaff'——>'LBw' console.log(b.name); b.name = "PDD"; console.log(b.name); } var p = new Person('LBW'); //p——>'0xxafaff'——>'LBw' fn2(p); console.log(p.name); </script> <body> </body> </html>
标签:function,console,log,数据类型,Js,新手,实参,name From: https://www.cnblogs.com/Xiaojianlogs/p/16704818.html