zoukankan      html  css  js  c++  java
  • js-对象

    js-对象(简述)

            (1)  什么是对象

                  现实生活中:万物皆对象,对象是一个具体的事物,一个具体的事物就会有行为和特征。

         JavaScript中的对象其实就是生活中对象的一个抽象,
          其属性可以包含基本值、对象或函数。
    对象就是一组没有顺序的值。我们可以把JavaScript中的对象想象成键值对,其中值可以是数据和函数。

       (2)  本质: 键值对;  

              (3)  意义:存储数据和编程;

              (4)  创建方式:

            1.  通过new关键字创建对象:

                                     

    var obj = new Object();
    // 添加属性
    obj.name = "admin";
    // 添加方法
    obj.show = function () {
        console.log( "我是"+this.name );
    };
    

                            2.  通过字面量创建对象

       

    var obj = {
        name : "zhangsan",
        age : "18",
        show : function () {
            console.log(''我是''+this.name+"年龄"+this.age);
        }
    };
    

                            3.  通过构造函数创建对象

    function Person(name, age) {
        this.name = name;
        this.age = age;
        this.say = function(name) {
            console.log("你好: " + name + "!");
        };
    }
    
    // 创建两个Person对象
    var person1 = Person("admin1", 18);
    var person2 = Person("admin2", 28);
    

          (5) 属性和方法

                     如果一个变量属于一个对象所有,那么该变量就可以称之为该对象的一个属性,属性一般是名词,用来描述事物的特征

                     如果一个函数属于一个对象所有,那么该函数就可以称之为该对象的一个方法,方法是动词,描述事物的行为和功能

                (6) 访问对象的属性和方法

                      1.点语法:

                              形为: 对象.具体属性或方法;

                       2.中括号语法:

                              形为:  对象[变量]  或   对象["具体属性或方法"];

                      区别:中括号法可以用变量作为属性名,而点语法不可以;
            中括号法可以用数字作为属性名,而点语法不可以。

    var obj = {
        name : "xiaoming",
        age : 18,
        123:123,
        show : function () {
            console.log("我是"+this.name+"年龄"+this.age);
        }
    };
    console.log(obj["name"]);   // 输出:"xiaoming"
    console.log(obj.name);   // 输出:"xiaoming"
    var age = "age";
    console.log(obj[age]);      // 输出:18
    console.log(obj["123"]);    // 输出:123
    

              (7) 对象的遍历

    var obj = {
        name : "xiaoming",
        age : 18,
        123:123,
        show : function () {
            console.log("我是"+this.name+"年龄"+this.age);
        }
    };
    for(var i in obj){
        console.log(i)//输出的是key;  
    }
    

           (8)删除对象的属性(最好不用):

                         delete  对象.属性/方法

                  

      

     

  • 相关阅读:
    登录后返回到登录页问题
    vue组件插槽
    js定义类
    arguments.callee用法
    深拷贝的原生js实现
    Hybrid APP架构设计思路
    使用vlfeat 包中遇到的问题
    tensorflow faster rcnn 代码分析一 demo.py
    labelImg 工具
    faster rcnn 做识别
  • 原文地址:https://www.cnblogs.com/xy88/p/12043797.html
Copyright © 2011-2022 走看看