Project1

标题: 一般插件中( () => {}) ()是什么意思? [打印本页]

作者: 我是大仙    时间: 2022-10-27 12:17
标题: 一般插件中( () => {}) ()是什么意思?
本帖最后由 我是大仙 于 2022-10-27 12:19 编辑

我看很多官方插件的书写格式都是:
( () => {
插件内容
}) ()
这串括号是什么功能呢?


顺带问一下,$dataXXXX[x] 的属性“meta”代表什么?
作者: 小秋橙    时间: 2022-10-27 15:28
()=>{},基本上相当于:function(){},主要差异是花括号里面如果用到了this这个词那么它指代的东西会不一样,可以百度搜索“es6箭头函数”了解更多。而
(()=>{})(),或者说:(function(){})(),则是将这个无名函数立即进行一次调用,好处是即使在里面用var声明的变量也不会影响到外面,另外还可以随时用return来跳出。
meta属性和note属性是息息相关的,note属性就是数据库里右下角填写的【备注】,每行的格式为:
<key1:value1>
<key2:value2>
<key3>
那么meta就是一个对象,内容是
{"key1": "value1", "key2": "value2", "key3": true}
注意这些value都是字符串,只有当value和左边的冒号都省略时(只填写key)才视为true。
但是,有的第三方插件会把note理解为xml格式,这时候就不能用上面的规则概括了。
作者: 织梦行云    时间: 2023-1-4 18:07
差不多是楼上的意思,第一个是JS匿名函数,第二个是备注的对象




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1