extjs - 了解 ExtJs 类属性
问题描述
我试图了解属性在 ExtJs 类中是如何工作的。参考以下代码:
Ext.define('My.sample.Person', {
name: 'Unknown',
food: undefined,
foodList: [],
constructor: function(name) {
if (name) {
this.name = name;
}
},
eat: function(foodType) {
console.log(this.name + " is eating: " + foodType);
this.food = foodType;
this.foodList.push(foodType);
//this.foodList = [foodType]
},
showFood:function() {
console.log(this.name);
console.log(this.food);
},
showFoodList:function() {
console.log(this.name);
console.log(this.foodList);
}
});
var bob = Ext.create('My.sample.Person', 'Bob');
bob.eat("Salad");
bob.showFood();
bob.showFoodList();
console.log(bob)
var alan = Ext.create('My.sample.Person', 'alan');
console.log(alan)
alan.showFood();
alan.showFoodList();
<script src="https://cdnjs.cloudflare.com/ajax/libs/extjs/6.2.0/ext-all.js"></script>
如果您检查“alan”的结果,则 food = undefined 和 foodList = ['salad'] 因为以某种方式将 foodList 分配给了原型。
同时,如果您这样做,那么它将正常运行。知道为什么吗?背后的概念是什么?
结果:
解决方案
推荐阅读
- c# - 实体框架 - 无法引用实体上下文
- php -
没有被替换 - elasticsearch - FSCrawler 找不到现有的工作
- powershell - 通过 REST API 在 Power BI 报表服务器上设置报表数据源和凭据以建立计划刷新
- c# - 如何从游戏对象中获取任何脚本组件
- java - 为什么此方法返回“null”但不返回 null
- go - 为什么在 64 位拱门中 mod 8 后 Go 的 4 字节对齐结构地址是 4?
- ios - 如何从父控制器更改嵌入式控制器中的 UIColor?
- ruby-on-rails - Bodymovin - Rails 项目中的 Lottie:未找到 json
- php - Laravel 重定向 Auth::guart('admin') 注销到管理员登录屏幕