js日记之对象

一:什么是对象

对象是一个具体的事物,js中对象是一组无序的相关属性和方法的集合。可使结构更清晰。

二:创建对象的三种方式

1:利用字面量创建对象

格式:
{
属性;
方法;
}
代码:

 <script>
        var obj={
            name:'张三',
            age:'18',
            sex:'男',
            SayHi:function(){
                console.log("hi");
            }
      }
      console.log(obj.name);
      console.log(obj['age']);
      obj.SayHi();
    </script>

效果:
在这里插入图片描述

注意事项:
1.属性名:属性值/方法名:方法
2.多个属性或方法中间用逗号隔开
3.obj={…}
4.调用方法

2:利用new object创造对象

格式:
var 对象名=new object()
代码:

 <script>
        var obj=new Object()
        obj.name='libai';
        obj.age='18';
        obj.SayHi=function(){;
            console.log('hi');
        }
      console.log(obj.name);
      console.log(obj['age']);
      obj.SayHi('hi');
    </script>

效果:
在这里插入图片描述
注意事项:
1.等号赋值
2.分号间隔
3.类似于调用函数生成了一个空对象,再创建属性方法并赋值

3:构造函数创建对象

格式:
function 函数名(){
this.属性=值;
this.方法=funciton(){}
}
new 函数名();
代码:

<script>
        function A(name,age,sex){
            this.name=name;
            this.age=age;
            this.sex=sex;
            this.sing=function(sang){
                console.log(sang);
            }
        }
        var ldh=new A('LI','05','男'); 
        console.log(ldh.age);
        console.log(ldh.sex);
        console.log(ldh.name);
        ldh.sing("jajajajaja");
    </script>

效果:
在这里插入图片描述

注意事项:
1.A()中的为变量,this后面的为属性名
2.函数名首字母要大写
3.构造函数可批量生成对象
4.sing为方法,sing中的jiajiajiajia传到function()的sang中,再通过console打印出来(可以看出属性和方法的传值是分开的,不过可以通过属性给函数赋值)
5.this是指向构造函数创建的对象

三:遍历对象

代码:

<script>
        function A(name,music){
            this.name=name;
            this.song=music;
            this.sing=function(song){
                console.log(song);
            }
        }
        var a=new A('aaa','gagagaga');
        for (var p in a){
            /* console.log(p); */
            console.log(a[p]);

        }
    </script>

效果:
在这里插入图片描述
注意事项:
1.方法sing不可以直接接收new创建的对象的参数,需要中转(music)
2.console.log(a[p])输出属性值和方法结果,console.log( p )输出属性名和方法名。
3.p接收的为函数名(字符串不是变量),所以不可以使用a.p的方式输出(相当于输出a."…")

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值