自定义对象(概念及案例)
1、js对象
js对象分为:
自定义对象
内置对象——Array、String、Math、Date
BOM——浏览器对象
2、对象概念(自定义对象)
对象是一组无序的相关属性和方法的集合
一切皆对象,万物皆对象
对象是由属性和方法组成的
属性是对象的特点或特征的描述
方法是对对象行为的描述
3、对象的创建
字面量 var person ={
name:'瑶瑶'
name:16,
sex:'woman',
height:185,
weight:160,
say:function(){
alert('妖言惑众') }
}console.log(person);
console.log(person.name)
console.log(person.['name'])
person.say();
利用new的方式创建
var obj=Object();
obj.name='杰杰';
obj.sex='man';
obj.age=24;;
obj.say=function(){
alert('戒烟戒毒') }
4、对象的遍历
for(var k in obj){
console.log(k)console.log(obj.k)console.log(obj.[k]) }
5、工厂模式创建对象
function createObj(name,age,sex,msg){
var obj={name:name,age:age,sex:sex,say:function(){alert(msg)}
}
return obj; } var p1=createObj('阿丁','不知道','是的','我说的都是真的',70);
var p1=createObj('小凌','30','女','听的音乐都是我喜欢的',);
console.log(p1.name);
p1.say();
console.log(p2);
6、构造函数创建对象
function Person(name,age,sex){
console.log(this)this.name=name;this.age=age;this.sex=sex;this.skill=function(){alert(this.name+'吹牛皮')
} } var yaoyao=new Person('瑶瑶',16,'boy');
var jiejie=new Person('杰杰',16,'man');
console.log(yaoyao.name);
yaoyao.skill();
注意:
1、构造函数的首字母大写
2、将属性和方法绑定到this上面
3、调用构造函数里面的代码,添加属性和方法
4、返回这个对象
7、new的执行过程
new在内存中创建了一个空的对象
this指向创建的新对象
执行构造函数里面的代码,添加属性的方法
返回这个对象
8、对象的增删查改
var yaoyao={
var yaoyao={name:'瑶瑶',age:16,sex:'boy',say:function(){alert('妖言惑众')}} }
增:yaoyao.height=180;
查:console.log(yaoyao.age);
改:yaoyao.sex='man',
删除delete:delete yaoyao.age
console.log(yaoyao)
9、案例
请使用arguments完成函数getRusult,实现得到输入的所有数值中的最小值、最大值、和、平均值 function getResult(){
var max=arguments[0],
min=arguments[0],
sum=0,
averages;
}
遍历arguments
for(var i=0;i
最大值
if(arguments[i]>max){max=arguments[i]
}
最小值
if(arguments[i] }
平均值:
averages=sum/arguments.length
返回:
var obj={
sum:sum,
max:max,
min:min,
averages:averages
}
return obj;
console.log(getResult(34,5,6,32,43,567)) console.log(getResult(2,6,4,6,7,3,7,5))
进阶作业
1、书写一个函数,判断指定数据是否存在于指定数组中
function exist(data,arr){
for(var i=0;i }
console.log(exist('e',['a','b','c']));
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
