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<arguments.length;i++){
最大值
if(arguments[i]>max){
max=arguments[i]
}
最小值
if(arguments[i]<min){
min=arguments[i]
}
求和
sun+=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<arr.length;i++){
if(data===arr[i]){
return true;
}
}
return false;
}
console.log(exist('e',['a','b','c']));