我是 JavaScript 的新手,我总是以类似旧程序的方式使用它。
现在我正在研究如何用 JavaScript 实现面向对象的范式,我对在教程中找到的这个例子有一些疑问。
我有一个包含以下简单代码的 utility.js 文件:
var steveApp = {}; // Object container
steveApp.person = 'Steve'; // Add a person field to the steveApp object
steveApp.logPerson = function() {
console.log(steveApp.person);
}
所以我对 exaclty 的工作原理有些怀疑。
我认为首先它定义了一个类似于 空对象 的东西,通过这一行命名为 steveApp:
var steveApp = {}; // Object container
然后我认为.是用来给之前的空对象添加一个字段的,所以我有:
steveApp.person = 'Steve';
向 steveApp 对象添加一个稳定的人员字段。
最后它做了一件“奇怪”的事情:
steveApp.logPerson = function() {
console.log(steveApp.person);
}
在我看来,向 steveApp 对象添加一个新字段(名为 logPerson),但该字段不是普通字段(整数、字符串或其他对象),但它是一个执行行为的函数(在控制台中写入日志)。
然后,在另一个 JavaScript 文件中执行以下操作:
steveApp.logPerson();
并且执行了之前的功能。那么它到底是什么意思呢?这意味着在 JavaScript 中,函数可以是对象的字段或什么?
关于为什么要调用这个函数(如果它确实是一个字段)我必须这样做:
steveApp.logPerson();
并且不调用字段名 ?:
steveApp.logPerson;
谢谢
最佳答案
函数是 JavaScript 中的一流对象。可以像对待任何其他类型的数据一样对待它们。
您可以将它们存储在变量中,将它们存储在属性中,将它们作为函数参数传递等。
Abd why to call this function (if it is true that it is a field) I have to do:
steveApp.logPerson();
将 (zero_or_more_aguments_here)
放在作为函数求值的内容之后是调用 函数的方式。将它们关闭会为您提供函数本身,而不是调用它的结果。
关于javascript - JavaScript 对象究竟是如何工作的?我可以将函数声明为 JavaScript 对象的字段吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33418931/