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

    创建对象

    通过对象自面量的形式创建对象

    var obj={};  
    var obj1={x:1, y:2, z:3};  
    var obj2={
        'x': 1,
        'y': 2,
        username: 'king',
        'for': 'JS中的关键字必须放在引号之间'
    };
    

    使用new object创建对象

    var obj3 = new Object();
    var arr = new Array();
    var data = new Data();
    var reg = new RegExp('js');
    
    

    使用构造函数创建对象

    function Test1(num1, num2){
        this.n1 = num1;
        this.n2 = num2;
    }
    var obj = new Test1(5,6);
    

    使用Object.create()创建对象

    var obj6 = Object.create({x:1});   // 继承自{x:1}
    var obj7 = Object.create(null);
    
    // 创建一个普通的空对象
    var obj8 = Object.create(Object.prototype);
    

    操作对象

    首先创建两个对象

    //使用对象字面量的方法构造对象
    var person={
        username: 'zhang',
        age:12,
        addr:'北京',
        salary: 1234.56,
        sex: '男',
        sayHi:function(){
            return 'say hi';
        }
    };
    
    // 使用构造函数的方法添加对象
    function PersonInfo(name, age, sex){
        this.name = name,
        this.age = age,
        this.sex = sex,
        this.info = function(){
            return 'info';
        }
    };
    
    var person=new PersonInfo('zhang', 20, '男');
    

    访问属性:
    对象名.属性名
    对象名[属性名]
    当处于某个对象方法内部的时候,可是使用this来访问同一对象的属性
    var key='username';
    person.key 等量代换?不存在的,会显示未定义
    属性不确定的时候,只能使用[]的形式

    添加属性:
    对象名.属性名 = 值
    对象名[属性名] = 值

    修改属性:
    对象名.属性名 = 值
    对象名[属性名] = 值

    删除属性:
    delete 对象名.属性名
    delete 对象名[属性名]
    注意:
    delete只能删除自身的属性,不能删除继承的属性
    要删除继承的属性,只能从定义它属性的原型对象上删除,这户影响到所有的对象
    delete只是断开属性和宿主对象的联系,而不会去操作属性的属性
    delete不能删除那些可配置型为false的属性

    遍历属性:
    for in 遍历属性

    访问方法:
    对象名.方法名()
    注意:
    如果对象名.方法名的形式就会返回定义函数的字符串

  • 相关阅读:
    iOS中的两种主要架构及其优缺点浅析
    iOS
    iOS开发人员不容错过的10大工具
    安装CocoaPods报错
    把你唱的歌用乐器表达出来

    String.Split函数
    四部和声
    SerializeField和HideInInspector
    十年许嵩雅俗共赏
  • 原文地址:https://www.cnblogs.com/cnkai/p/7642799.html
Copyright © 2011-2022 走看看