前言:
目前朋友们对“js获取对象内存地址的方法”大致比较着重,同学们都需要分析一些“js获取对象内存地址的方法”的相关资讯。那么小编在网上网罗了一些关于“js获取对象内存地址的方法””的相关内容,希望我们能喜欢,小伙伴们快快来了解一下吧!一、 js object 对象:
基本数据类型(原始值)
- 基本数据类型是构成语言的根基
- 目前为止我们一共学习了五种基本数据类型(不可变类型):
数值(Number)
字符串(String)
布尔值(Boolean)
空值(Null)
未定义(Undefined)
所有的基本数据类型的值都是相互独立的,当我们去表示一个复杂的数据时,
无法体现出,多个数据描述的是一个整体
对象(object),变量之间是相互独立的,对象就像是一个容器一样,
在对象的内部可以存储多个类型不同的变量
当我们需要表示一些复杂数据,只需要将相关的值
统一存储到一个对象,即可完成
//创建一个对象//使用new调用的函数,被称为构造函数,构造函数是专门用来创建对象的函数var obj = new Object();//对象中存储的变量被称为属性//向对象中添加属性//语法:对象.属性名 = 属性值obj.name = '孙悟空';obj.age = 18;obj.gender = '男';//读取对象中的属性// 语法:对象.属性console.log(obj.name);console.log(obj.address); // 如果读取对象中没有的属性,会返回undefined1.2 object对象的使用:
//创建对象//var obj = new Object();//var obj = Object();var obj = {};// 使用对象字面量来创建对象// 使用typeof检查一个对象时,会返回 "object"// console.log(typeof obj);// 添加属性// 对象的属性名没有强制的命名规范,// 但是我们开发中的最佳实践,属性名也要遵循标识符的规范// 如果你起的名字太奇怪了,需要使用另外一种添加的属性的方式// 语法:对象['属性名'] = 属性值;obj.name = '孙悟空';obj.age = 18;obj.gender = '男';// obj.if = '哈哈';// obj.var = '嘻嘻';// obj['123123123hjhjjhjhjhjhj13212'] = '呵呵';// 修改属性obj.age = 19;// 删除属性// delete用来删除一个对象中的属性delete obj.age;// console.log(obj.name);var a = 'gender';// console.log(obj[a]);// 对象的属性值可以使任意的数据类型obj.test = true; // test属性值是布尔值obj.test = null; // test属性值是空值obj.test = undefined; // test属性值是undefined// 对象中也可以存储对象obj.test = {}; // test属性值是对象obj.test.name = 'tom';console.log(obj.test.name);1.3 object可变类型:
// 我之前所学习的Number、String、Boolean、Null、Undefined这些数据类型都属于不可变类型//数据的值是没有办法修改的,可以修改的只是变量,只能通过为变量来重新赋值,来达到修改的目的var a = 10;var b = a;// a++会使原来的变量自增1,属于“改变量”,修改一个变量时,不会影响其他的变量// 修改一个变量的值时,不会影响到其他变量a++;// console.log('a =',a); // 11 引用同一个基本类型值,一个发生改变,不会影响另一个// console.log('b =',b); // 10var o1 = {};o1.name = 'swk';var o2 = o1;o1.name = 'zbj';console.log(o1);//zbjconsole.log(o2);//zbj引用同一个对象改变一个值,另一个也会跟着改变1.4 object 对象的补充:
// 创建了一个新的对象var o = {};// 每次使用{}、Object()、new Object() 都会创建出一个新的对象var p = {};p = o;// 使用相等或全等比较两个对象时,比较的是对象的内存地址// 如果内存地址相同,比较时会返回true,内存地址不同会返回falseconsole.log(o == p);console.log(o === p);1.5 object 对象的字面量:
创建对象同时直接向对象中添加属性
语法:{属性名:属性值,属性名:属性值,属性名:属性值}
对象字面量,外部是一个大括号,内部有一个一个的属性组成
属性名和属性值之间使用:连接,每一个属性以,结尾,最后一个属性不要写,
var o = { name:'孙悟空', age:18, gender:'男', "123asdsd":'aaa'};// console.log(o.name,o.age,o.gender);console.log(o['123asdsd']);1.6 补充const声明变量指向对象时:
// const声明的变量是常量,常量只能进行一次赋值
// 常量只是进制了变量的重新赋值(改变量),如果变量指向的是一个对象
// 这个对象是可以正常修改的,不会被const影响
const a = {name:'孙悟空'};
a.name = '猪八戒';
console.log(a);
欢迎关注我的原创文章:小伙伴们!我是一名热衷于前端开发的作者,致力于分享我的知识和经验,帮助其他学习前端的小伙伴们。在我的文章中,你将会找到大量关于前端开发的精彩内容。
学习前端技术是现代互联网时代中非常重要的一项技能。无论你是想成为一名专业的前端工程师,还是仅仅对前端开发感兴趣,我的文章将能为你提供宝贵的指导和知识。
在我的文章中,你将会学到如何使用HTML、CSS和JavaScript创建精美的网页。我将深入讲解每个语言的基础知识,并提供一些实用技巧和最佳实践。无论你是初学者还是有一定经验的开发者,我的文章都能够满足你的学习需求。
此外,我还会分享一些关于前端开发的最新动态和行业趋势。互联网技术在不断发展,新的框架和工具层出不穷。通过我的文章,你将会了解到最新的前端技术趋势,并了解如何应对这些变化。
我深知学习前端不易,因此我将尽力以简洁明了的方式解释复杂的概念,并提供一些易于理解的实例和案例。我希望我的文章能够帮助你更快地理解前端开发,并提升你的技能。
如果你想了解更多关于前端开发的内容,不妨关注我的原创文章。我会不定期更新,为你带来最新的前端技术和知识。感谢你的关注和支持,我们一起探讨交流技术共同进步,期待与你一同探索前端开发的奇妙世界!
#程序员##程序员那些事##web网站##vue##react##it##it那些事儿#
#前端##文章首发挑战赛#