> 电器
js对象用法(js对象类型的语法规则)
导语:Js基础30:对象(下)
5、工厂函数创建对象
工厂?流水线,批量制造
// 使用内置对象创建对象varobj=newObject();obj.name=&39;;obj.sayName=function(){console.log(&39;);}
如果这段代码需要重复执行,是不是可以封装成函数
functioncreateObj() {varobj=newObject(); obj.name=&39;; obj.sayName=function(){ console.log(&39;); }}
但是这样创建的对象,永远都是一个对象,这个时候应该想的到,抽取公共部分作为参数,可以传不同值进来,
我们需要得到这个封装好的对象,那么就需要返回这个对象。
functioncreateObj(name) { varobj=newObject(); obj.name=name; obj.sayName=function(){ console.log(&39;+name); } returnobj;}
工厂函数的优点:值是活的,可以批量操作,减少重复代码。
6、使用对象的属性和方法
访问对象的属性:对象.属性;
调用对象的方法:对象.方法名(参数);
// 得到对象的名字,属性可以当成变量使用console.log(obj.name);// 调用对象的方法,方法的本质是函数obj.sayName();
永远记住:只有对象才能点属性和方法
练习:
用对象来描述,它的名字叫来福,它有黄色的毛hair,它有四条腿leg和一条尾巴tail,它喜欢吃骨头,喜欢跑到隔壁村找翠花创建三个学生对象,并且输出学生的学号、姓名、年级和年龄7、键的方式访问对象的属性和有方法
语法:对象[属性名]
varobj={};obj[&39;]=&39;;obj[&39;]=function(){console.log(&39;+obj[&39;]);}obj[&39;]();
8、遍历对象
语法:
for(varkeyinobj){ console.log(key);// 键名 console.log(obj[key]);// 每个key对应的键值}
代码举例:
varobj={name:&39;,age:12,gender:&39;};for(varkeyinobj){console.log(key);console.log(obj[key]);}// 一般来说,需要我们处理的数据,只有属性没有方法
9、数据安全
之前学习函数的时候,函数可以创造一个局部作用域,把数据进行保护,不让外部的数据对我们的数据进行污染。
那么在有些情况下,就是需要使用全局变量,有不想造成全局变量的污染。。。那么怎么做的?
这里给大家介绍一个概念——对象封装!
// 全局变量 全局作用域的函数,都可以封装进对象里,这样就只有一个全局变量了,就是我们创建的对象objvarobj={myName:&34;, num:1, loginStatus:true}
总结:
1.对象不仅仅是一种语法,更是一种思想,一种方便解决问题的思想
2.使用对象来表示一个可以帮我做事的角色 ,我们只要调用对象的方法和属性,就能实现效果
3.对象语法使用属性描述事物的特征,使用方法描述事物的行为
练习:
有数据vardatas=[ {name:&39;,age:18,gender:&39;}, {name:&39;,age:19,gender:&39;}, {name:&39;,age:17,gender:&39;} ];根据上面的数据,在页面中显示一张表格,如下图
代码
vardatas=[ {name:&39;,age:18,gender:&39;}, {name:&39;,age:19,gender:&39;}, {name:&39;,age:17,gender:&39;} ] varstr=`<table border=&34;> <tr> <th>姓名</th> <th>年龄</th> <th>性别</th> </tr>` for(vari=0;i<=datas.length;i++) { str+=`<tr>`; varobj=datas[i] for(varkeyinobj) { str+=`<td>${obj[key]}</td>`; } str+=`</tr>`; } str+=`</table>`; // 在页面中输出这个表格的字符串 document.write(str);
本文内容由快快网络小竹整理编辑!