登录
原创

JavaScript-对象

发布于 2021-06-24 阅读 503
  • 前端
  • JavaScript
原创

创建对象

方法一:{} 字面量创建

var 对象名 = {
    对象的属性和方法
}

eg:

<script>
        var dog1 = {
            name: '可可',
            type: '阿拉斯加犬',
            age: 5,
            color: '棕红色',
            bark: function() {
                console.log('汪汪汪');
            },
            showFilm: function() {
                console.log('演电影');
            }
        }
</script>

方法二:new object()

var 对象名 = new Object();
对象名.属性1 = 属性值;
对象名.属性2 = 属性值;
对象名.属性2 = 属性值;
对象名.函数名 = function() {
                  函数内容
             }

eg:

<script>
        var person1 = new Object();
        person1.name = '鸣人';
        person1.sex = '男';
        person1.age = 19;
        person1.skill = function() {
            console.log('影分身术');
        }
</script>

方法三:构造函数

创建同一类的多个对象,可以使用构造函数。

创建一个构造函数,然后多次调用,就可以创造多个对象。简化代码。

        function 构造函数名(参数1, 参数2, 、、、) {
            this.属性名1 = 属性值1;
            this.属性名2 = 属性值2;
            this.blood = blood;
            this.attack = function(attackMethod) {
                console.log('攻击:' + attackMethod);
            }
        }
注意:1.构造函数名的首字母需要大写;2.构造函数不需要写return,使用构造函数new对象后,构造函数会自动返回这个新对象

eg:

<script>
        function Hero(name, type, blood, attackMethod) {
            this.name = name;
            this.type = type;
            this.blood = blood;
            this.attack = function(attackMethod) {
                console.log('攻击:' + attackMethod);
            }
        }

        var lianpo = new Hero('廉颇', '力量型', '500血量');
        console.log(lianpo.name);
        console.log(lianpo.type);
        console.log(lianpo.blood);
        lianpo.attack('近战');
        console.log(lianpo);
        
        var houyi = new Hero('后羿', '射手型', '100血量');
        console.log(houyi.name);
        console.log(houyi.type);
        console.log(houyi.blood);
        houyi.attack('远程');
</script>

遍历对象:for-in

for (var k in 对象名) {
    console.log(k); // k 变量 输出得到的是 属性名
    console.log(对象名[k]); //对象名[k] 得到 属性值
}

注意这里的 k 是变量,直接写- - -对象名[k],不要加引号
for-in中国一般习惯用 k 或者 key 变量名,来接收对象的属性名

eg:

<script>
        var student = {
            name: '夏目玲子',
            age: 18,
            sex: '女'
        }

        for (var k in student) {
            console.log(k); // k 变量 输出得到的是 属性名
            console.log(student[k]); //对象名[k] 得到 属性值
        }
</script>

控制台打印结果:

image.png

评论区

零00
7粉丝

时光荏苒,我自清欢

0

0

0

举报