javascript - 对象中的语句 'this.xxx' 是否也声明了名为 xxx 的属性?

标签 javascript object declaration

下面的代码是我在示例 html 文件中得到的代码。

function Blog(body, date) {
    // Assign the properties
    this.body = body;
    this.date = date;
}

我明白了,没有声明声明。我认为在这两个语句之前应该有这样的内容: var body; var 日期;

或者这两个语句也像声明语句一样工作吗?

最佳答案

如果我正确理解了您的代码的问题:

var puppies = new Blog(samplebody, 'some/date/here');

console.log(puppies.date);

//prints out some/date/here to the console

这是因为“puppies”已经被声明为一个对象。在“函数”内声明为 this.key = value; 的任何变量本质上只是向对象添加一个键值对。

您可以跳过专门定义分配给定义的 JavaScript 对象的变量。

将其视为在字典对象中定义新元素。定义字典后,您可以向其中添加元素,而无需单独定义这些元素:

var person = {};
person.name = 'Murphy';
person.favoriteBook = 'The Hungarian Caterpillar';

关于javascript - 对象中的语句 'this.xxx' 是否也声明了名为 xxx 的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41478258/

相关文章:

objective-c - 从 Objective C 的头文件中隐藏实例变量

javascript - 如何从外部组件设置 Youtube iframe 音量

Java性能: private static final String vs local String ?堆空间中创建的对象数量

javascript - 如何在processing.js中画一条line()?

javascript - 为什么 JavaScript 的 "in"运算符错误地返回 false?

c# - 将对象类型作为参数传递

c++ - 为什么 int x{ y = 5 } 可能?

c++ - 为什么必须在 C++ 类定义中声明方法?

javascript - 如何提高这个JS函数的速度

javascript - javascript文件中的 "style xyz.css"是什么意思