`
xo_tobacoo
  • 浏览: 384632 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

js的对象特性

阅读更多

Javascript中的对象是无处不在的,function,boolean,正则等都是对象。对象主要用于收集和管理数据。
1)它内部数据以“属性名-属性值”的形式存在,如下,

var empty_object = {};

var stooge = {
    "first-name": "Jerome",
    "last-name": "Howard"
};
2)属性名,可以是任何字符串,如空字串也是可以的,双引号不是必须的;属性值可以是除undefined的任何

值。
如果值是对象,那么嵌套的对象和父对象就有了父子关系,轻易实现“树”关系。
var flight = {
    airline: "Oceanic",
    number: 815,
    departure: {
        IATA: "SYD",
        time: "2004-09-22 14:55",
        city: "Sydney"
    },
    arrival: {
        IATA: "LAX",
        time: "2004-09-23 10:42",
        city: "Los Angeles"
},
tell: (r){
alert(t);
}
};

3)prototype属性使对象可以很容易的继承属性,减少初始化时间和节省内存。
if (typeof Object.beget !== 'function') {
     Object.beget = function (o) {
         var F = function () {};
         F.prototype = o;
         return new F();
     };
}
var another_stooge = Object.beget(stooge);
another_stooge['first-name'] = 'Harry';
another_stooge['middle-name'] = 'Moses';
another_stooge.nickname = 'Moe';
stooge.profession = 'actor';
another_stooge.profession    // 'actor'

4)访问属性的形式:
a)使用点符号:stooge. first-name
b)使用中括号:stooge.[first-name]

5) undefined:访问的时候当属性不存在的时候,
Stooge.num    //undefined
如果我们要访问属性没有定义的时候给它赋个初始值:
var y=stooge.num||”yu”;
6)更新对象:
用赋值语句: stooge.num=”yu”;
7)对象通过引用传递,不可能被复制。
区别:
var a = {}, b = {}, c = {};    // 不同的空对象
a = b = c = {};//引用同一个空对象
8)反射
typeof stooge. first-name //string
typeof stooge. fight //object
typeof flight.tell    // function

9)枚举,它有两种方式使用。:
a)var name;
for (name in another_stooge) {
    if (typeof another_stooge[name] !== 'function') {
        document.writeln(name + ': ' + another_stooge[name]);
    }
}
b)var i;
var properties = [
    'first-name',
    'middle-name',
    'last-name',
    'profession'
];
for (i = 0; i < properties.length; i += 1) {
    document.writeln(properties[i] + ': ' +
            another_stooge[properties[i]]);
    }
}
9)delete:原型属性不能删除,在对象内部用var 和function 直接声明的属性和方法不能删除,并且delete

会返回值,删除了不能删除的属性会返回false,否则返回true,需要的注意的是删除没有的属性时候也会返回

true.
10)定义包:
var MYAPP = {};
MYAPP.stooge = {
    "first-name": "Joe",
    "last-name": "Howard"
};

MYAPP.flight = {
    airline: "Oceanic",
    number: 815,
    departure: {
        IATA: "SYD",
        time: "2004-09-22 14:55",
        city: "Sydney"
    },
    arrival: {
        IATA: "LAX",
        time: "2004-09-23 10:42",
        city: "Los Angeles"
    }
};

分享到:
评论

相关推荐

    JavaScript的面向对象特性浅析与范例

    传统方式对JavaScript的应用基本上是基于过程模型的,若在JavaScript中利用面向对象的思想进行代码编写,将会使得代码具有良好的结构和逻辑性,更便于管理和维护。本文让读者看到JavaScript如何实现面向对象编程并...

    javascript面向对象特性代码实例.docx

    javascript面向对象特性代码实例.docx

    Javascript面向对象特性实现(封装、继承、接口).doc

    Javascript面向对象特性实现(封装、继承、接口 Javascript面向对象特性实现(封装、继承、接口

    JavaScript面向对象编程指南.pdf

    如何实现JavaScript中缺失的面向对象特性,如对象的私有成员与私有方法;如何应用适当的编程模式,发挥JavaScript语言特有的优势;如何应用设计模式解决常见问题等。 《JavaScript面向对象编程指南》着重介绍...

    JavaScript面向对象编程指南

    如何实现JavaScript中缺失的面向对象特性,如对象的私有成员与私有方法;如何应用适当的编程模式,发挥JavaScript语言特有的优势;如何应用设计模式解决常见问题等。, 《JavaScript面向对象编程指南》着重介绍...

    JavaScript的面向对象特性浅析与范例.pdf

    JavaScript的面向对象特性浅析与范例.pdf

    javascript面向对象编程

    JavaScript作为一门浏览器语言的核心思想;...如何实现JavaScript中缺失的面向对象特性,如对象的私有成员与私有方法;如何应用适当的编程模式,发挥JavaScript语言特有的优势;如何应用设计模式解决常见问题等。

    面向对象JavaScript开发

    面向对象JavaScript开发,讲述了最新的Javascript面向对象特性,以及如何使用JavaScript进行面向对象程序开发。

    JavaScript 对象与数组参考大全

     本文列举了各种JavaScript对象与数组,同时包括对上述每一对象或数组所完成工作的简短描述,以及与其相关的属性方法,以及事件处理程序,还注明了该对象或数组的父对象用户同样可能需要参考Online Companion中的超级...

    JavaScript面向对象编程

    Javascript是一种面向(基于)对象的动态脚本语言,是一种基于对象(Object)和事件驱动 (EventDriven)并具有安全...javascript的面向对象特性,要使用好 ext技术, javascript的面向对象语言特性是我们必须完全把握的。

    JavaScript面向对象编程指南 英文版

    如何实现JavaScript中缺失的面向对象特性,如对象的私有成员与私有方法;如何应用适当的编程模式,发挥JavaScript语言特有的优势;如何应用设计模式解决常见问题等。 《JavaScript面向对象编程指南》着重介绍...

    JavaScript面向对象编程指南 有书签

    如何实现JavaScript中缺失的面向对象特性,如对象的私有成员与私有方法;如何应用适当的编程模式,发挥JavaScript语言特有的优势;如何应用设计模式解决常见问题等。 《JavaScript面向对象编程指南》着重介绍...

    JavaScript程序设计课件:面向对象概述.pptx

    面向对象有封装、继承、多态性的特性,所以具有易维护、易复用、易扩展的特点。 类的调用需要实例化,开销较大,因此性能方面较面向过程低。 6.1.1 面向过程与面向对象 6.1 面向对象概述 主讲:重庆机电职业技术大学...

Global site tag (gtag.js) - Google Analytics