js第十(对象)

对象

(1)概念:对象是一个具体的事物,在js中对象是一组无序的相关属性和方法的集合,所有的事物都是对象,例如字符串、数值、数组、函数等;
(2)组成:由属性和方法组成
属性:事物的特征,在对象中用属性表示(常用名词);
方法:事物的行为,在对象中用方法表示(常用动词);
(3)创建对象(object)的方式:利用字面量创建对象、 利用new Object创建对象、 利用构造函数创建对象。
1,利用字面量创建对象

var obj={
属性1:属性值1,
属性2:属性值2,
方法(例如:sayHi):function(){
console.log('hi~');}
}

1.1,里面的属性或者方法采取键值对的形式 键 属性名: 值 属性值
1.2,多个属性或者方法中间用逗号隔开;
1.3,方法冒号后面跟的是一个匿名函数。
使用对象
1.1,调用对象的属性:对象名.属性名、小点理解为 ’ 的 ’ ;
1.2,调用的另一种方式:对象名[’ 属性名 '] 、属性名必须加引号;
1.3,调用对象的方法:对象名.方法名() 、方法名字后面一定要加括号;
变量、属性、方法和函数
1.1,变量和属性都是用来存储数据的;
变量:单独声明赋值,单独存在;
属性:对象里面的变量称为属性,不需要声明,用来描述该对象的特征;
1.2,函数和方法都是实现某种功能,做某件事的;
函数:单独存在的,通过 “函数名()” 的方式就可以调用;
方法:对象里面的函数称为方法,方法不需要声明,通过 “对象.方法名()” 的方式就可以调用,方法用来描述该对象的行为和功能;
2,利用new Object创建对象

var obj=new Object();
obj.属性1=属性值1;
obj.属性2=属性值2;
obj.方法(例如:sayHi)=function(){
console.log('hi~');}

2.1,利用 = 赋值的方法,添加对象的属性和方法;
2.2,每个属性和方法之间用分号结束;
3,利用构造函数创建对象
3.1,构造函数就是把对象里面一些相同的属性和方法抽象出来封装到函数里面,利用构造函数可以一次创建多个对象;
3.2,构造函数是一种特殊的函数,主要用来初始化对象,即为对象成员变量赋初始值,它总和new运算符一起使用,我们可以把对象中一些公共的属性和方法抽取出来,然后封装到这个函数里面;

function 构造函数名(){
this.属性=值;
this.方法=function(){}
}
new  构造函数名();

3.3,构造函数名首字母要大写;
3.4,构造函数不需要return,就可以返回结果;
3.5,调用构造函数必须使用new
3.6,只要调用new Star()就相当于创建了一个对象 ;
3.7,属性和方法前面必须添加this
例子:

function Star(name, type, blood) {
            this.name = name;
            this.type = type;
            this.blood = blood;
            this.attack = function(fS) {
                console.log(fS);
            }
        }`--->构造函数`
        var lianPo = new Star('廉颇', '力量型', 500);`--->创建对象`
        console.log(lianPo.name);
        console.log(lianPo.type);
        lianPo.attack('近战');
        var houYi = new Star('后裔', '射手型', 100);`--->创建对象`
        console.log(houYi.name);
        console.log(houYi.type);
        houYi.attack('远程');

(4)构造函数和对象
1,构造函数(如:Stars())泛指某一大类,抽象了对象的公共部分,封装到了函数里面;
2,创建对象(如:new Stars())指的是某一个具体的事物,利用构造函数创建对象的过程称为对象的实例化 ;
(5)new关键字执行过程
1,在内存中创建一个新对象;
2, 让this指向这个新对象;
3,执行构造函数里面的代码,给这个新对象添加属性和方法;
4,返回这个新对象(所以不需要return);
(6)遍历对象属性
for…in语句:用于对数组或者对象进行循环操作;
例子for(var 变量 in 对象 ){}
console.log(k);k变量输出,得到的是属性名;
console.log(对象名 [ k ])输出得到的是属性值;
注意:使用 for…in 里面的变量用 k 或者 key

小结

1,对象可以让代码更清晰;
2,对象是复杂数据类型object;
3,对象的本质是一组无序的相关属性和方法的集合;
4,构造函数泛指某一大类,对象实例特指某一事物;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值