Javascript空对象

时间:2013-11-01 08:58:40

标签: javascript oop object

这是一个代码示例,来自一本名为 JavaScript:The Definitive Guide,第6版的书,我不明白。

他在谈论对象。

var book ={
    topic: "javascript",
    fat: true
};
book.topic              => "javascript"
book.["fat"]            => True
book.author="flanagan"; // creates new property
book.contents= {};      // empty object*

所以我不明白的是最后一部分。他是否添加了一个名为“内容”的新属性?因为他把它称为一个对象,这让我感到困惑。

8 个答案:

答案 0 :(得分:2)

{}是javascript中的空对象,它被分配给图书对象的contents属性。

Here you can see that we can use functions defined globaly on object,例如toString()

答案 1 :(得分:1)

看一下book变量的定义方式。它是一个Object声明。 在最后一行中,我们添加一个名为contents的属性,并为其指定一个与book完全相同的对象,除了这个对象没有属性,因此是一个空对象:{}

答案 2 :(得分:1)

花括号{ }表示法表示对象文字。

它们之间没有任何内容这一事实意味着指向空白对象(继承自基础对象)的新对象引用存储在book.contents属性中。

答案 3 :(得分:1)

{}创建一个空对象。现在意味着此对象可以具有与book.author="flanagan";

定义的新属性相同的属性
// Both are same
book.contents = new Object();
book.contents = { } ;

答案 4 :(得分:1)

在JavaScript中,您可以使用{}表示法创建一个名为 object literal 的对象,并且您可以在将来通过点添加您想要的对象。 strong> 功能 ,在您的第一步示例中:

var book = {topic:“javascript”,fat:true};

使用两个属性 主题 fat <​​/ em> 创建book对象,然后使用 author as String和 contents 作为内部对象,正如我所说,你可以用它来创建空对象(var t = {} // example); 如果你使用

typeof book.contents // returns "object"

答案 5 :(得分:0)

创建原始book对象的新属性,并将该属性的值设置为新的空对象。

答案 6 :(得分:0)

他正在添加一个名为contents的对象book的新属性,该属性本身就是一个空对象。

这是他做出改变以帮助您想象它时的样子结构。

var book = {
    topic: "javascript",
    fat: true,
    author : "flanagan",
    contents : {}
};

答案 7 :(得分:0)

<script type="text/javascript">

        var book ={
            topic: "javascript",
            fat: true
        };


        book.topic = "javascript";
        book.fat = true;
        book.author = "flanagan"; // creates new property
        book.contents = {};      // empty object*
        //The curly bracket { } denotes here an object.
        //will add a property contents and will contain an empty object

        alert(book.contents);   //it will display [object Object]

        book.contents.name = 'Success Stories';
        //adding propertis to the object contents
        alert(book.contents.name);

        /*
        you can consider it as object inside object

        objectOuter {
            property1: value1
            property2: value2
            property3: objectInner {
                property1: value1
                property2: value2
            }
        }
        */       

    </script>