JavaScript对象

一、前言
JavaScript对象是属性的集合,其中每个属性都具有名称和值,属性的名称可以是任何字符串,包括空字符串。值可以是任何值,例如字符串,布尔值,数字和null,但不能是未定义的。
属性值不限于基本类型,如数字或字符串; 您还可以添加其他对象的属性,包括函数。将函数添加到对象时,它称为方法。
二、正文
1.访问属性
可以通过两种方式之一检索属性值; 点符号和括号表示法。

var rect = { width: 20, height: 10 };
alert(rect.width);             // => 20 (点符合dot notation)
alert(rect["width"]);          // => 20 (括号表示法bracket notation)

2.用for-in 获取属性Getting property names with for-in

var car = { make: "Toyota", model: "Camry" };
for (var prop in car) {
   // => make: Toyota, and model: Camry
   alert(prop + ": " + car[prop]);  
}

3.使用构造函数创建对象Creating objects with constructor functions

function Book(isbn) {
    this.isbn = isbn;
}
Book.prototype.getIsbn = function () {
    return "Isbn is " + this.isbn;
};
var book = new Book("901-3865");
alert(book.getIsbn());    // => Isbn is 901-3865

4.The value of this

function Circle(radius) {                    
    this.radius = radius;
}
Circle.prototype.getRadius = function() {
    return this.radius;
}
var smallCircle = new Circle(5);
alert(smallCircle.getRadius());    // => 5
var largeCircle = new Circle(100);
alert(largeCircle.getRadius());    // => 100

5.原型继承Prototypal inheritance
原型对象本身具有原型,这导致原型链。对象从原型链中的对象继承属性的过程称为原型继承。该模型比传统继承更简单,更小,冗余更少。
我们使用bank属性和getBank方法创建一个帐户对象。该对象将作为其他对象的原型,如储蓄,检查等。

var account = {
    bank: "Bank of America",    // default value
    getBank: function() {
        return this.bank;
    }
};
var savings = Object.create(account);
alert(savings.bank);                // => Bank of America

createObject接受一个原型对象作为参数,名为p,并返回一个新对象(一个真正的函数对象),其prototype属性设置为传入的原型对象。prototype属性是JavaScript如何跟踪对象的原型链。

function createObject (p) {
    var F = function () {};    // Create a new and empty function
    F.prototype = p;
    return new F();
}
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值