JavaScript中的对象解释--访问对象属性、遍历属性for in、检测属性是否存在的方法...

文章目录

目录

文章目录

1、对象访问属性

2、遍历(枚举)属性for-in

3、检测属性是否存在的方法

4、模板字符串``(反引号)

二、总结:


一、对象

1、对象访问属性

        (1)、格式:对象.属性名 或对象['属性名 ']

       (2)、自定义对象:{ '属性名': 属性值, 属性名: 属性值 }

                 属性名的引号可以省略,如果属性名中含有特殊字符必须加引号,比如made-in时,不能用-,但如果写成'made-in':属性名 就可以使用了)。

       (3)、Eg:

var emp={
			id:1,
			name:"张三",
			sex:1,
			birthday:'1999-4-5',
			salary:7500.00,
			'dept-id':20,
		}
		console.log(emp);
		// 访问属性 对象.属性名 或 对象[‘属性名’]
		console.log(emp.id,emp.name);
		console.log(emp['dept-id']);
		console.log(emp['salary']);//中括号里面不管有没有特殊字符,都要用引号
		console.log(emp.dname);//属性值不存在时不会报错,获取的值为undefined
		//修改存储的值
		emp.salary=50000;
		console.log(emp);
		//添加属性值
		emp.dname='市场部';

2、遍历(枚举)属性for-in

(1)、采用循环的方式,依次访问对象中的每个属性。格式:for(var k in 遍历的对象/数据表)

(2)、变量k代表每次获取的属性名,in 后写要遍历的对象,对象[k] 代表属性名对应的属性值。 student[k]表示属性值,不能写成student.k(会认为打印k这个属性名,不存在所以结果为undefined。)

        //要提前声明变量,不能在for里面声明,会报错。

	for(var k in student){
//	student[k]表示属性值
			console.log(k,student[k])
		}

  (3)、其中分享一道之前做过的关于for 和for in 的题: 

3、检测属性是否存在的方法

       (1)、(对象.属性名===undefined)和undefined比较,若为true说明属性不存在,为false说明属性存在。

console.log(person.age===undefined);

      (2)、 使用JS提供的函数hasOwnProperty('属性名')。true说明存在,false说明不存在。(hasOwnProperty()表示有自己的属性吗)

console.log(person.hasOwnProperty('name'));

       (3)、‘属性名’ in 对象

console.log('age' in person);

        Eg:// 练习一:创建一个商品对象,包含的属性有编号、标题、价格,如果颜色属性不存在,添加该属性;如果价格属性存在,价格打九折,最后打印该对象。

var goods={
			id:1,
			title:'电脑',
			price:6800,
		}
		// 方法1、if(goods.color===undefined){
		// 方法2、if(!goods.hasOwnProperty("color")){
		if(!('color' in goods)){ //取反
			goods.color='银白';
			console.log(goods.color);
		}
		if(goods.hasOwnProperty('price')){
			goods.price=goods.price*0.9;
			console.log(goods.price);
		}
		console.log(goods);

4、模板字符串``(反引号)

         格式:${ JS表达式 }

        反引号在键盘中的位置:在tab键的上面(要英文模式下)。

        模板字符串相当于加强版的字符串,用反引号 `,除了作为普通字符串,还可以用来定义多行字符串,还可以在字符串中加入变量和表达式。

        模板字符串中的换行和空格都是会被保留的。

二、总结

        以上就是今天要讲的内容,本文仅仅简单介绍了对象如何访问属性,遍历(枚举)属性for-in,介绍了三种检测属性是否存在的方法,和模板字符串的简单应用。

猜你喜欢

转载自blog.csdn.net/qq_61214252/article/details/130396091