JavaScript基础知识-基本数据类型和引用数据类型
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.JavaScript源代码
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>基本数据类型和引用数据类型</title> </head> <script type="text/javascript"> /** * 基本数据类型: * String(字符串) * Number(数值) * Boolean(布尔值) * Null(空值) * Undefined(未定义) * * 引用数据类型: * Object(对象) * * JS中的变量都是保存到栈内存中的,只不过引用数据类型和基本数据类型对应的值有所区别: * 基本数据类型的值直接在栈内存中存储,值与值之间是独立存在的,修改一个变量不会影响其它的变量; * 引用数据类型(对象)是保存在堆内存中的,每创建一个新的对象就会在堆内存中开辟一个新的空间,而变量保存的是对象的内存地址(对象的引用); * */ a = 2020; b = a; console.log(a); console.log(b); //对基本数据类型进行修改 a = a + 100; console.log(a); console.log(b); var obj1 = new Object(); obj1.name = "尹正杰"; var obj2 = obj1; console.log(obj1.name); console.log(obj2.name); //对引用数据类型进行修改 obj2.name = "Jason Yin"; console.log(obj1.name); console.log(obj2.name); //将obj1的引用地址设置为null,并不会影响到obj2 obj1 = null; console.log(obj1); console.log(obj2); var x = 100,y=100; /** * 当比较两个基本数据类型时,就是比较值 */ console.log(x == y); var obj3 = new Object(),obj4 = new Object(); obj3.name = "齐天大圣孙悟空"; obj4.name = "齐天大圣孙悟空"; /** * 当比较两个引用数据类型时,它们比较的是对象的内存地址,也就是说,两个对象存储的数据是一样的,但它们的内存地址不同,返回的依旧是flase。 */ console.log(obj3 == obj4); </script> <body> </body> </html>
二.浏览器打开以上代码渲染结果