Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript空对象_Javascript_Oop_Object - Fatal编程技术网

Javascript空对象

Javascript空对象,javascript,oop,object,Javascript,Oop,Object,这是一个代码示例,摘自《JavaScript:权威指南》第6版,我不理解 他在谈论物体 var book ={ topic: "javascript", fat: true }; book.topic => "javascript" book.["fat"] => True book.author="flanagan"; // creates new property book.contents= {}; //

这是一个代码示例,摘自《JavaScript:权威指南》第6版,我不理解

他在谈论物体

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

所以我不明白的是最后一部分。他是否添加了一个名为“contents”的空属性?因为他把它叫做物体,这让我很困惑

Yes
{}
在javascript中是一个空对象,分配给book对象的contents属性


例如

Yes
{}
在javascript中是一个空对象,分配给book对象的contents属性


例如

它正在创建原始
书籍
对象的新属性,并将该属性的值设置为新的空对象。

它正在创建原始
书籍
对象的新属性,并将该属性的值设置为新的空对象。

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

看看
book
变量的定义方式。它是一个对象声明。
在最后一行中,我们添加了一个名为contents的属性,并为其分配了一个声明方式与book完全相同的对象,只是这个对象没有属性,因此是一个空对象:
{}
花括号
{}
符号表示对象文字


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

花括号
{}
符号表示对象文字


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

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

这是一个结构,当他做出改变来帮助你想象它时,它会是什么样子

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

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

这是一个结构,当他做出改变来帮助你想象它时,它会是什么样子

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

{}
创建一个空对象。意味着现在该对象可以具有与
book.author=“flanagan”定义的相同的新属性


{}
创建一个空对象。意味着现在该对象可以具有与
book.author=“flanagan”定义的相同的新属性


在JavaScript中,您可以使用{}符号创建一个对象,称为对象文字,您可以在以后通过点向该对象添加任何您想要的内容,甚至是函数,在第一步的示例中:

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

book对象是用两个属性topicfat创建的,然后这个对象用author作为字符串和contents作为内部对象进行扩展,正如我说的,您可以使用它来创建空对象(var t={}//example); 如果你使用


typeof book.contents//返回“object”

在JavaScript中,您可以创建一个带有{}符号的对象,称为object literal,在第一步的示例中,您可以通过点向该对象添加任何您想要的内容,甚至是一个函数

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

book对象是用两个属性topicfat创建的,然后这个对象用author作为字符串和contents作为内部对象进行扩展,正如我说的,您可以使用它来创建空对象(var t={}//example); 如果你使用

typeof book.contents//返回“object”


风险值手册={
主题:“javascript”,
胖:是的
};
book.topic=“javascript”;
book.fat=真;
book.author=“flanagan”//创建新属性
book.contents={};//空对象*
//在这里,花括号{}表示一个对象。
//将添加属性内容并包含空对象
警惕(书籍目录)//它将显示[对象]
book.contents.name=‘成功故事’;
//向对象内容添加属性
警报(book.contents.name);
/*
你可以把它视为对象内部的对象。
对象外部{
物业1:价值1
物业2:价值2
属性3:对象{
物业1:价值1
物业2:价值2
}
}
*/       

风险值手册={
主题:“javascript”,
胖:是的
};
book.topic=“javascript”;
book.fat=真;
book.author=“flanagan”//创建新属性
book.contents={};//空对象*
//在这里,花括号{}表示一个对象。
//将添加属性内容并包含空对象
警惕(书籍目录)//它将显示[对象]
book.contents.name=‘成功故事’;
//向对象内容添加属性
警报(book.contents.name);
/*
你可以把它视为对象内部的对象。
对象外部{
物业1:价值1
物业2:价值2
属性3:对象{
物业1:价值1
物业2:价值2
}
}
*/       

No,他正在添加一个名为
content的新属性
<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>