Javascript援用范例——“Object范例”的注重要点

Object 范例

关于援用范例的观点:

  • 援用范例:援用范例的值(对象)是援用范例的一个实例;

  • 对象:是某个特定援用范例的实例;

  • 新对象:用new 操作符后跟一个组织函数来建立的;如代码:var person = new Object();这行代码建立了Object 援用范例的一个新实例,然后把该实例保存在了变量person 中。运用的组织函数Object()

建立Object 范例实例的要领

  1. 运用new 操作符后跟Object 组织函数;

  2. 运用对象自变量示意法

关于第一种,Object 实例的建立体式格局以下:

var child = new Object();
child.name = "Oliver";
child.age = 18;
console.log(child.name); //"Oliver"

关于第二种,Object 实例的建立体式格局以下:

var child = {
    name: "Oliver",
    age: 18
}
console.log(child.age + " " + child.name); //"18 Oliver"

上面这个例子中,在age:18 以后不能增加逗号,由于age 是这个对象的末了一个属性。(在末了一个属性背面增加逗号,会在IE7 及更早版本和Opera 中致使毛病。)

别的,在自变量示意法建立实例的中,属性名也能够运用字符串,如:

var person = {
    "name" : "Nicholas",
    "age" : 29,
    5 : "fdd"
}
console.log(person.name); //"Nicholas"
console.log(person["5"]); //"fdd"

注重!这里假如要接见person 内里的属性名为5 的属性的值,则需要运用方括号语法如:person[5],最好写成person['5']背面会引见。

别的,这里的5 会被自动转换成字符串”5″。

在运用字面两语法时,假如留空其花括号,则能够定义只包括默许属性和要领的对象,如:

var person = {};
person.name = "Oliver";
person.age = 18;
person[5] = "fdd";

这里的var person = {}new Object()雷同。

对象字面两也是向函数通报大批可选参数的首选体式格局,如:

function display(obj){
    var output = "";
    if (typeof obj["name"] == "string"){
        output += "Name: " + obj["name"] + "<br/>";
    }
    if (typeof obj.age == "number"){
        output += "Age: " + obj.age + "<br/>";
    }
    document.write(output);
}

display({
    name:"Oliver",
    age:18
})

平常来说方括号语法是在必需运用变量来接见属性的时刻才运用。假如这里肯定要用方括号语法,那就必需写成如许的情势person["name"]person.name雷同。背面会详述。

接见对象的属性

平常来说重要有两种要领:

  1. 点示意法;

  2. 方括号语法;

接见对象属性时平常都是运用点示意法。固然也能够运用方括号示意法,如:

person.name;
person["name"];

方括号语法的重要长处是能够经由过程变量来接见属性,如:

var person = {
    name:"Oliver"
}
var propertyName = "name";
console.log(person[propertyName])

在对象内里,name属性能够写成字符串情势”name”,假如用方括号语法,肯定要注重写成person[“name”]

假如属性名中包括会致使语法毛病的字符,或许属性名运用的是关键字或保留字,也能够运用方括号示意法。如:

person["first name"] = "Oliver";

由于假如写成person.first name 会报错。
肯定要注重的是,除非必需运用变量来接见属性,不然发起运用点示意法。

    原文作者:JS菌
    原文地址: https://segmentfault.com/a/1190000003984584
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞