node-red【函数】01

前言:

介于我学习 node-red 的艰难进展在此以我觉得最通俗的方式解释下函数里常用的代码含义及使用方法

附加一个说明:node-red 使用的是 js 语言就是 JavaScript 在 js 里“=”是赋值,“==”是判断是否相等不判断类型是否一样,而“===”则是判断是否相等也判断是否类型一样。

msg.payload:

我对于【msg.payload】的理解是控件输出的东西,可以理解成上一个控件的对函数输入的内容的称呼

例:

if (msg.payload == 'a'){
    msg.flag = 1//如果输入的值为a 则msg.flag就是1
}

var:

对于【var】呢其实就正常理解就可以了.他就是一个定义我可以用它定义很多东西下面是两个个例子

var x //定义一个变量x
var x = msg.payload //定义x=上一个控件输入的信息

 

用法还有很多就不一一列举了

if:

对于【if】就更好理解了,if 的汉译就是如果

和大部分编程一样 node-red 的 if 也是 if+(条件){ 成立则执行***}和上面一样下面是例子

var x
if (msg.payload == 10){
    x = msg.payload //定义一个x 如果输入=10则x=输入(也就是10)
}

global:

【global】一个神奇的全局变量,当我卡在两个输入进行比较的时候是【global】给予的灵感

【global】的意思不便描述直接上示例

global.set('x',msg.payload) //定义全局变量(set大概就是规定的意思)x 是输入来的东西

x 可以是任何东西任何名,经过以上就定义了 x 这个全局变量,那我定义的全局变量有什么用呢?例子如下

global.get('x') //获取全局变量(get大概意思就是取;获取)x

那获取到 x 后有什么用呢?继续例子

var a = parseInt(global.get('x')) //这次定义一个仅限于这个函数的变量a这个a就是获取到的全局变量x有了a我们就可以
if (msg.payload > a){
     msg.flag = 10 //如果输入的值 > a 那么msg.flag就为10
}

注意!!!当使用【global】时我定义 x 的值的代码可以放在我的函数 1 里,而我获取 x 可以在函数 2 里获取而且无需讲函数 1 与函数 2 连线即可获取

后记:

此函数系列后续会更新其他文章更新不定时但大概每周会有一条(直到我没啥写的),也欢迎大家在评论区指正错误。

  • Node.js

    Node.js 是一个基于 Chrome JavaScript 运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞 I/O 模型而得以轻量和高效。

    131 引用 • 258 回帖 • 548 关注
6 操作
pinruxiutai 在 2021-05-04 15:25:57 更新了该帖
pinruxiutai 在 2021-04-15 22:05:59 更新了该帖
pinruxiutai 在 2021-04-15 21:45:20 更新了该帖
pinruxiutai 在 2021-04-15 21:44:50 更新了该帖 pinruxiutai 在 2021-04-15 21:30:47 更新了该帖 pinruxiutai 在 2021-04-15 21:14:09 更新了该帖

广告 我要投放

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • pinruxiutai
    作者

    写的不错,再接再厉!

  • stackxin

    写的不错,可以专门写一下 node-red 相关的应用,贴一下图,再接再厉!