整数转罗马数字c++

BUUCTF warmup_csaw_2016

  返回  

简单数据复杂数据的区别

2021/8/20 22:40:44 浏览:

简单数据类型:

string \ number \ boolean \ undefined \ null

复杂数据类型:

object \ function \ array

内存分为 栈(存放简单数据类型)和堆(存放复杂数据类型)

注意:JavaScript中没有堆和栈的概念,此处我们用堆和栈目的是方便理解和学习。

简单数据类型传参

// 简单数据类型传参
function fn(a) {
    a++;
    console.log(a);		// 11
}
var x = 10;
fn(x);
console.log(x);		// 10

 分析:

调用函数fn(x)因为x = 10故等于fn(10) 执行函数结果为11

底下输出的x不变依旧是10

 复杂数据类型传参

	let obj1 = {name : '常威',age : 20};
	let obj2 = obj1;
	obj2.name = '来福';
	obj2.age = 22;
	console.log(obj1);//输出结果:{name: "来福", age: 22}

————————————————
版权声明:本文为CSDN博主「无问I西东」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_46432330/article/details/104576055

分析:

第二行让obj2 = obj1 ==》obj2和obj1在栈里共用一个地址,指向了堆里的同一个值,所以obj2更改了数据,会影响obj1的输出

分析:在执行函数f1时 因为形参x此刻值为p

所以p所构造的对象中的name为团团

而在执行函数的第7行将name赋值为丸子

所以第8行输出时为丸子

因为共用了一个堆里的变量库 所以在f1函数里更改了以后p也会受到同样的更改

故结果为丸子

联系我们

如果您对我们的服务有兴趣,请及时和我们联系!

服务热线:18288888888
座机:18288888888
传真:
邮箱:888888@qq.com
地址:郑州市文化路红专路93号