javascript - 有人可以帮我理解这段 JavaScript 代码吗
问题描述
此代码用于添加新书,但我不明白它是如何工作的。我看到一个变量书被使用但从未被分配。它是如何存在的?
<script>
const bookManager = {
addBook: function(book){
if(!this.books){
this.books = [book];
} else{
this.books.push(book);
}
}
};
</script>
解决方案
bookManager
是一个对象。addBook
是对象内部的一个方法。调用时的addBook
方法是检查 bookManager 对象是否具有名为 的属性books
。如果它没有,books
那么它将在这一行中创建一个books
属性 this.books = [book];
并添加book
到它。如果它具有该属性,那么它正在推动book
它。这里this
代表对象bookManager
const bookManager = {
addBook: function(book) {
if (!this.books) {
this.books = [book];
} else {
this.books.push(book);
}
}
};
bookManager.addBook('test');
console.log(bookManager.books)
推荐阅读
- r - 用于每日数据预测的 auto.arima 日期太远了
- python-3.x - 从 jupyter notebook 中的 pandas 数据框中选择单行时出现 Python Key 错误
- python - 如何从列表创建 DataFrame,以便列表显示为一列而不是单行?
- python - 优化裁剪功能
- c# - 切换日夜主题 Android Xamarin
- python - Python:Netcdf:是否有一种方法可以从一个变量中获得总体平均值,而另一个变量与唯一值重叠?
- java - 在 Android Studio 中为每个方向设置不同的约束
- discord.js - Discord.JS 试图向用户发送消息
- cypher - 在 Gremlin 中围绕具有传出和传入边的单个节点创建子图查询
- javascript - 保存会话的电子 GET 请求