JavaScript|对象

本博文源于js基础,主要讲述对象与基本和引用类型值。

对象

初识对象

对象是一种非常常见的数据结构,它由不定量的属性和属性值,应该可以描述为键值对的东西。
这个跟python里面的内容也有类似。

var obj = {
	a:1,
	b:2,
	c:3
	};

访问对象的属性

obj.a;
obj["a"];

感觉第一种用起来跟java类似。其中

var key = "c";
console.log(obj[key]);//obj是上面的定义内容

方括号表示法不能变成点表示法,比如这种

console.log(obj.key);

由于obj没有“key”属性,所以得到undefined值。
在这里插入图片描述

对象的优点

对象给变量增加了整体性

将键值和属性捆绑在了一起。

对象给数组增加了属性名

数组只有一个数组值,而对象有键值对,就可以看作键值相当于数组值,属性值是数组额外的东西。

对象给变量增加了命名空间

如果描述张三家和李四家的养羊的个数,可以这样写

var Sheep_all {
	zhangsan:9,
	lisi:10
}

同样这可以改写为

var zhangsan = 9;
var lisi = 10;

如果再需要我们描述养牛种数,那就需要用到

var zhangsan_ox = 8;
var lisi_ox = 3;

如果有了对象那肯定就简单了,

var Ox_all {
	zhangsan:8,
	list:3
}

对象Sheep_all和Ox_all给属性名增加了“点前缀”,术语叫做“命名空间”,即zhangsan,lisi等处于不同的命名空间。

JSON

JSON(JavaScript Object Notation即JavaScript对象表示法)是一种跨语言、用于信息交换的数据格式。它本质上是语法更为严格的js对象。因为它主要支撑数据交互的,因此学js的时候可以先跳过,后期再专门学这个。
但JSON对于语法有明确要求:

  • 属性名都必须严格地用双引号包裹。
  • 属性名都必须符合标识符命名规范。

例如:

var obj = {
	"a":1,
	"b":2
};

复杂对象

对象里面套对象,问题一下子复杂了,对象里更复杂类型的值。例如

var theStudent = {
	name:"小池",
	age:25,
	sex:"女",
	pets: [
		{
			name:"笨笨",
			type:"dog"
		},
		{
			name:"小花",
			type:"cat"
		}
	]
};

对象的遍历

可用for循环进行遍历

var theUser = {
	name:"聂超",
	age: 38,
	height:172
};

for(var k in theUser) {
		console.log(k,theUser[k]);
	}

在这里插入图片描述

方法

如果一个对象的某个属性值是函数,则称此属性是这个对象的“方法”,对象可以调用这个函数。例如:

var theUser = {
	name:"聂超",
	age: 38,
	height:172,
	sing:function() {
		console.log("啦啦啦");
	}
};
theUser.sing();

在这里插入图片描述

基本类型值

Js中值分为基本类型值和引用类型值两种类型,先谈一下基本类型。
基本类型一共有四种,数值、字符串、布尔、undefined。
它们主要特点如下:

  • 变量指向的是内存中的“值”,当进行变量赋值的传递时(如var b = a;)时,变量的值会被复制一份给一个变量,两个变量完全分开。
  • 做相等判断时,不比较它们是否是内存中的同一个地址,而只比较值是否相等。

引用类型值

包括对象和数组,内存中不产生新的副本,而是让新变量指向同一个对象。

猜你喜欢

转载自blog.csdn.net/m0_37149062/article/details/106235990