请问this.content是从什么类继承的?

开始学习Cocos Creator,现在正在看21点的代码,有个问题
在RankList.js里有代码如下:
const players = require(‘PlayerData’).players;

cc.Class({
extends: cc.Component,

properties: {
    scrollView: cc.ScrollView,
    prefabRankItem: cc.Prefab,
    rankCount: 0
},

// use this for initialization
onLoad: function () {
    this.content = this.scrollView.content;
    this.populateList();
},

populateList: function() {
    for (var i = 0; i < this.rankCount; ++i) {
        var playerInfo = players[i];
        var item = cc.instantiate(this.prefabRankItem);
        item.getComponent('RankItem').init(i, playerInfo);
        this.content.addChild(item);
    }
},

// called every frame
update: function (dt) {

},

});
很想知道其中 this.content = this.scrollView.content;这句里的this.content是怎么来的?
1、首先这个不是一个省略var的变量
2、这个脚本是绑定在RankList这个空节点里的


如果这个节点是ScrollView,倒是好理解,因为ScrollView里是有content这个属性的,而cc.Component和cc.Class里都没有这个属性,因此产生疑惑

有哪位大神知道的吗?求教

this.content本来是没有的,但是调用了this.content = this.scrollView.content;这句,就相当于在properties里声明了1个content,把scrollView.content赋值给content

感谢您的回答!还有这种用法?为什么我后来在这个js的开头设置了 ‘use strict’
还是没有报错?按理来说的使用不是会强制检查是否用var来声明吗?
额,是不是这个因为有this的约束,所以不是var局部变量,是归为properties里的变量?但是这样声明的好处是什么呢?是不是外面编辑器可以缺省隐藏?

use strict是检查重复键的,你这里没有重复的,开头声明肯定不会有问题啊,this.xxx是归为properties里的变量, 你不在properties声明,外面编辑器是拿不到里面的东西的,和_xxx声明一样,在外面编辑器是看不见的

额明白了!谢谢您的指点。还有最后一个问题:
这个脚本(RankList.js)是绑定在menu.fire的空节点RankList上的,该脚本直接声明了一个类cc.Class——没有指定类名,其他地方也没有看到对这个类的实例化,是不是这个脚本的意义就在于——menu.fire场景启动时,这个RankList节点被加载了,这个时候绑定的脚本(RankList.js)就会被执行,而里面的
// use this for initialization
onLoad: function () {
this.content = this.scrollView.content;
this.populateList();
},

就会被调用,从而带来了玩家列表的展现?

挂在哪个节点下的js,在那个节点加载的时候,就会调用对应的js,里面的生命周期,你可以看一下这里—生命周期描述

1赞

感谢您的耐心讲解!