`
xo_tobacoo
  • 浏览: 391982 次
  • 性别: 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的面向对象特性浅析与范例.pdf

    1. 对象Object:Object对象是JavaScript的基本对象,在任何其它JavaScript对象中都包含有Object对象,在所有其它对象中它的方法和属性都是可用的。Object对象的一个重要属性是prototype,prototype属性是用来返回...

    js 面向对象实例

    每个JavaScript对象都有一个`__proto__`属性,指向创建该对象的构造函数的原型。原型对象也是一个对象,可以通过`prototype`属性来访问。我们可以在原型上定义方法,这样所有实例都可以访问这些方法: ```...

    javascript面向对象特性代码实例

    以上就是本篇文章所介绍的JavaScript面向对象特性的核心知识点。通过实例代码的展示,作者带领读者深入了解了这些特性在实际编程中的应用。需要注意的是,由于篇幅限制,这里只能概述文章中的一些要点,具体代码实例...

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

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

    JavaScript对象的特性与实践应用深入详解

    通过理解JavaScript对象的特性和实践应用,开发者能够更加灵活高效地操作数据和实现各种功能。 首先,JavaScript对象可以包含属性和方法,其中属性是键值对,表示对象的特征,方法是属性值为函数的对象属性,表示...

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

    除此之外,JavaScript还支持其他面向对象特性,如封装(通过作用域和闭包实现)、多态(通过函数重写和鸭子类型实现)等。在实际开发中,理解并灵活运用这些特性是编写高效、可维护的JavaScript代码的关键。为了更好...

    js对象属性排序

    首先,了解JavaScript对象的基本特性是至关重要的。在ECMAScript规范中,对象的属性访问速度并不依赖于属性的位置或顺序,因为它们内部是通过哈希表实现的。这意味着在遍历对象时,属性的访问顺序可能与添加的顺序...

    JavaScript面向对象编程指南.pdf

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

    JavaScript面向对象编程指南

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

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

    在JavaScript中实现面向对象特性时,需要注意以下几点: 1. 使用构造函数和原型来创建和扩展类。 2. 通过闭包实现封装,保护内部状态。 3. 利用原型链实现继承,共享方法和属性。 4. 虽然JavaScript没有原生接口,但...

    javascript本地对象_内置对象和宿主对象

    JavaScript中的对象是编程的核心组成部分,它们是由特性(attribute)组成的,特性可以包含原始值(如字符串、数字、布尔值)或引用值(如其他对象或函数)。如果一个特性存储的是函数,那么它就被称为对象的方法;...

    面向对象JavaScript精要(英文原版pdf)

    尽管JavaScript不是传统意义上的面向对象语言,但它提供了一些独特的特性,使其能够支持面向对象编程。 - **原型链**:JavaScript使用原型链来实现继承。每个对象都有一个内部属性[[Prototype]],指向其原型对象。...

    javascript面向对象编程

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

    js面向对象简单理解

    JavaScript是一种广泛应用于Web开发的动态编程语言,尤其以其强大的面向对象特性而闻名。面向对象编程(Object-Oriented Programming,OOP)是软件开发中的一种重要模式,它通过类和对象来模拟现实世界中的概念,...

    js javascript zInherit 对象 继承

    每个JavaScript对象都有一个`__proto__`属性,指向它的构造函数的原型。当试图访问对象的一个属性时,如果该对象上没有这个属性,JavaScript会查找其`__proto__`,再找不到就继续查找`__proto__`的`__proto__`,直到...

    JavaScript — 对象和属性的特性1

    本文将深入探讨JavaScript对象和属性的特性,包括`[[Prototype]]`、`[[Class]]`、`get`和`set`访问器、以及如何通过`Object.getOwnPropertyDescriptor()`、`Object.create()`和`Object.prototype.toString.call()`等...

    JavaScript面向对象编程

    通过深入理解这些概念,开发者可以更好地利用JavaScript的面向对象特性,构建出高效、可维护的大型应用程序。同时,阅读和分析开源项目的源码,以及使用各种工具,可以帮助我们提高编程技能,解决实际问题。

Global site tag (gtag.js) - Google Analytics