JavaScript中object对象

一、 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); // 如果读取对象中没有的属性,会返回undefined

1.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); // 10

var o1 = {};

o1.name = 'swk';

var o2 = o1;

o1.name = 'zbj';

console.log(o1);//zbj

console.log(o2);//zbj引用同一个对象改变一个值,另一个也会跟着改变

1.4 object 对象的补充:

// 创建了一个新的对象

var o = {};

// 每次使用{}、Object()、new Object() 都会创建出一个新的对象

var p = {};

p = o;

// 使用相等或全等比较两个对象时,比较的是对象的内存地址

// 如果内存地址相同,比较时会返回true,内存地址不同会返回false

console.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创建精美的网页。我将深入讲解每个语言的基础知识,并提供一些实用技巧和最佳实践。无论你是初学者还是有一定经验的开发者,我的文章都能够满足你的学习需求。

此外,我还会分享一些关于前端开发的最新动态和行业趋势。互联网技术在不断发展,新的框架和工具层出不穷。通过我的文章,你将会了解到最新的前端技术趋势,并了解如何应对这些变化。

我深知学习前端不易,因此我将尽力以简洁明了的方式解释复杂的概念,并提供一些易于理解的实例和案例。我希望我的文章能够帮助你更快地理解前端开发,并提升你的技能。

如果你想了解更多关于前端开发的内容,不妨关注我的原创文章。我会不定期更新,为你带来最新的前端技术和知识。感谢你的关注和支持,我们一起探讨交流技术共同进步,期待与你一同探索前端开发的奇妙世界!

你可能感兴趣的:(JavaScript相关语法,javascript,前端,开发语言,ecmascript,html,vue.js,html5)