zoukankan      html  css  js  c++  java
  • JavaScript之——对象Object(一)

    1. 新建对象、删除和访问:

    (1).新建

    var obj1 = {b: 2};  //对象文本表示法
    var obj2 = new Object();
    obj2.a = 1;
    

    (2).访问

    //第一种:
    obj1.b
    
    //第二种:
    obj1[b]

    第一种:在属性名确定的时候使用;(建议使用这种)
    第二种:在属性名不确定的时候使用;

    (3).删除

    var obj = {
        a: 1
    }
    
    console.log( obj.a );  //1
    **delete obj.a;**          //删除操作
    console.log( obj.a );  //undefined

    delete操作仅对对象有作用

    2. 对象中的this

    var obj = {
        a: 1,
        b: function(){
            console.log( this.a );  //输出 1
    
            setTimeOut(function(){
                console.log( this.a ) //这时候的this指向全局对象
            },100);
        }
    };

    :对象中的this指向对象本身,

    3. 构造器属性constructor

    function Fn(s){
        this.a = s;
    }
    var obj = new Fn(10);
    
    console.log( obj.constructor );
    //输出: function Fn(s){this.a = s;}

    指向用于创建该对象的函数构造器的引用。

    4. instanceof操作符

    function Fn(s){
        this.a = s;
    }
    var obj = new Fn(10);
    console.log( obj instanceof Fn );   //输出:true

    obj是否由Fn构造

    1. 返回对象的函数
    function Fn(){
        this.a = 10;
        return {
            a: 20
        }
    }
    
    var obj = new Fn();
    console.log( obj.a );  //输出 20

    当return为对象时,返回的是对象;当return为非对象时,构造器会照常返回this
    即:

    function Fn(){
        this.a = 10;
        return 1;
    }
    
    var obj = new Fn();
    console.log( obj.a );  //输出 10

    6. 比较对象

    当且仅当2对象的引用指向同一个对象时,返回为true;否则为false(即使内容一样也为false)

  • 相关阅读:
    MySQL 存储过程 (2)
    MySQL 存储过程
    MySQL 数据库常用命令
    oracle 控制文件多路复用
    oracle定时清理日志操作
    git 常用的分支技巧
    golang tcp keepalive实践
    TCP keepalive的详解(解惑)
    勾践为什么卧薪尝胆
    golang context学习记录1
  • 原文地址:https://www.cnblogs.com/wenwenwei/p/10017862.html
Copyright © 2011-2022 走看看