global全局变量
在KubeJS中,提供了一个可以在server、startup、client三端调用的一个全局变量->global
如何快速理解
我们先在server的脚本文件夹下创建一个GlobalTest.js文件,然后在里面写上以下内容
js
global.testLog = (message) =>{
console.log(message)
}
global.testNumber = 10;
global.testMessage = "hello,meng"
global.testList = [
1,2,3,4
]
global.testObj = {
h : 1,
b : 2
}写完之后我们进入到client脚本文件下面写上以下内容
js
global.testLog(global.testMessage)
console.log(global.testMessage)再在startup里编写以下脚本
js
global.testList.forEach(value=>{
global.testLog(value)
});
console.log(global.testObj.h)
console.log(global.testObj.b)接下来我们按照这个顺序在游戏内输入指令
- /kjs reload server_scripts
因为我们的全局变量是写在
server里的,所以有限加载这个文件夹,让全局变量加载进kubejs里 - /kjs reload client_scripts
我们输入完这个指令之后,进入文件路径为
/logs/kubejs/server.log和/logs/kubejs/client.log里,可以看到
在server.log里有一行输出文本为"hello,meng" 这里就是我们调用的global.testLog(global.testMessage)起了作用
在client.log里也有同样的一行输出文本为"hello,meng" 这个地方是调用的console.log(global.testMessage)起了作用
3. /kjs reload startup_scripts
输入完成指令之后我们进入到/logs/kubejs/server.log和/logs/kubejs/startup.log里
在server.log里输出了数组里的数字1``2``3``4 说明是可以成功访问的
在startup.log里也有两个数字分别是1和2,这也是因为我们读取到了全局变量里对象的值
小结
在正常情况下,我们无法做到这种跨文件的方法变量的调用
但是使用了global之后,就可以在全局进行调用
用处
在项目中就有使用到全局变量