轻语言网站:变量与数组与对象的定义
文档概述
轻语言网站开发框架采用 JavaScript 作为底层语言,采用中文关键字,以下为轻语言网站开发中的变量、数组、函数、对象的语句定义与使用。
学习目标
阅读本文档后,你应当能够掌握以下内容:
- 变量定义语法:
变量 名称 = 初始值与变量 名称 为 类型 - 局部变量与页面变量的差异及类型要求
- 函数定义语法:无需声明返回类型与参数类型
- 数组定义与操作:
[]、索引访问、增删成员 - 对象定义与操作:
{}、点取属性、遍历属性 - 拉姆达表达式的语法与限制(必须用
{}包裹)
涉及关键字与函数
变量与类型关键字:
| 关键字 | 用途 | 示例 |
|---|---|---|
变量 | 声明变量 | 变量 X = 0 |
为 | 指定变量类型(用于组件/类) | 变量 按钮1 为 按钮 |
真 / 假 | 逻辑值 | 变量 是否登录 = 假 |
空 | 空值 | 变量 数据 = 空 |
数组函数:
| 函数 | 作用 | 示例 |
|---|---|---|
取数组成员数(数组) | 获取数组成员数 | 取数组成员数(数组3) |
删除成员(数组,索引) | 删除指定索引成员 | 删除成员(数组3,0) |
添加成员(数组,值) | 追加成员 | 添加成员(列表,4) |
对象函数:
| 函数 | 作用 | 示例 |
|---|---|---|
取对象成员数(对象) | 获取对象属性数 | 取对象成员数(用户1) |
取对象成员名(对象,索引) | 获取指定索引的属性名 | 取对象成员名(用户1,0) |
删除对象属性(对象,属性名) | 删除属性 | 删除对象属性(用户1,"名称") |
变量
在网页开发中,定义局部变量时可以指定数据类型,也可以不指定类型,只需要定义变量名称,或在定义时设置变量的初始值即可,但在定义页面变量时,如果是组件或类必须指定变量类型。
代码示例:
' 定义字符串文本变量
变量 页面变量 = "变量定义测试"
' 定义整数变量
变量 X,Y = 0
' 如果是组件或类,必须显示指定变量类型
变量 页面变量_按钮1 为 按钮
事件 页面加载完毕()
页面变量_按钮1 = 创建 按钮()
标签1.文本 = "欢迎使用 VcnStudio 网站开发插件!"
结束 事件
事件 按钮1.被单击(源对象,事件源)
' 局部变量无需指定变量类型
变量 局_数据 = 10
变量 局_已登录 = 假
变量 局_URL = "http://www.vcnstudio.com"
调试输出(局_数据)
调试输出(局_URL)
结束 事件
变量定义要点
- 局部变量:定义时可省略类型,直接赋初始值即可
- 页面变量:定义组件或类的变量时必须用
为关键字指定类型 - 批量定义:
变量 X,Y = 0可同时定义多个变量并赋相同初始值 - 逻辑型字面量:使用
真/假表示真值与假值 - 空值:使用
空表示空对象
函数
在轻语言网页开发中使用函数时,有返回参数值的函数,无需定义返回类型;直接在函数中返回指定数据值即可。
代码示例:
' 无参数、无返回值的函数
函数 无返回值函数()
调试输出("无返回值的函数被执行")
结束 函数
' 有返回值的函数、不需要定义返回类型,只需要在函数中返回值即可,
' 函数中的参数也不需要定义任何数据类型,所有参数默认可接收所有数据类型
函数 有返回值的函数(参数一,参数二)
返回 参数一 + 参数二
结束 函数
函数定义要点
- 使用
函数 ... 结束 函数定义 - 无需声明返回类型,直接用
返回 值返回 - 参数无需声明类型,所有参数默认可接收任意数据类型
- 无返回值的函数可省略
返回语句
数组与对象
数组的定义与使用
数组在轻语言网页开发中采用中括号 [ ] 定义,一个数组也表示用一个中括号包裹的数据值。
代码示例:
' 定义数组,只需要给变量设置初始值为 [ ] 即可
变量 数组1 = [ ]
' 定义含有默认整数值的数组,每个元素使用英文逗号分隔
变量 数组2 = [ 1,2,3]
' 定义含有默认文本值的数组
变量 数组3 = ["欢迎","使用","VcnStudio"]
' 使用数组,取出数组中指定位置的值,索引从 0 开始
' 例如:取出上方 数组3 中的第一个值
调试输出(数组3[0])
' 修改数组指定索引位置的值
' 例如:修改上方 数组3 中第2(索引为1)个值
数组3[1] = "中文编程"
调试输出(数组3)
' 获取数组中有多少个成员
调试输出(取数组成员数(数组3))
' 删除数组中指定索引成员
删除成员(数组3,0)
调试输出(数组3)
' 清空数组
数组3 = []
数组操作要点
- 定义:
变量 名称 = [ ]或变量 名称 = [值1,值2,...] - 索引:从
0开始,通过数组[索引]访问 - 修改:
数组[索引] = 新值 - 成员数:
取数组成员数(数组) - 删除:
删除成员(数组,索引) - 追加:
添加成员(数组,值)(详见函数文档) - 清空:重新赋值为
[]
对象的定义与使用
对象在网页开发中采用花括号 { } 定义,在轻语言网页中,使用花括号包裹的键值对数据值,表示一个对象。
代码示例:
' 定义对象,只需要设置初始值为 { } 即可,表示空对象
变量 对象1 = { }
' 空对象中没有任何属性,可以直接通过对象名称点设置属性
' 例如:给 对象1 设置一个类型的属性
对象1.类型 = "测试空对象"
调试输出(对象1)
' 也可以在定义的时候,通过初始值设置对象的属性与属性值
变量 用户1 = { 名称:"张三",年龄:25 }
调试输出(用户1)
' 修改属性的值,由于属性值是完全自定义的,因此IDE没有属性的智能提示,需要手敲
' 将用户1名称属性的值改为:李四
用户1.名称 = "李四"
调试输出(用户1)
' 获取属性的值
调试输出("用户1的年龄:" + 用户1.年龄)
' 遍历对象中的属性和值
变量循环(i = 0,取对象成员数(用户1),1)
变量 key = 取对象成员名(用户1,i)
调试输出("属性名称:" + key + ",属性值:" + 用户1[key])
结束循环
' 删除对象中的指定属性,注意:删除应谨慎操作,可能会影响之前的代码
删除对象属性(用户1,"名称")
调试输出(用户1)
对象操作要点
- 定义空对象:
变量 名称 = { } - 定义带初始值对象:
变量 名称 = { 属性1:值1, 属性2:值2 } - 取属性:
对象.属性名或对象[属性名] - 设属性:
对象.属性名 = 值 - 遍历属性:
变量循环(i = 0, 取对象成员数(对象), 1)+取对象成员名(对象, i) - 取属性数:
取对象成员数(对象) - 取属性名:
取对象成员名(对象, 索引) - 删除属性:
删除对象属性(对象, "属性名")
拉姆达表达式
轻语言网页中的拉姆达表达式与 JavaScript 语言基本一致,不同的区别为:
1.参数可以省略
代码示例:
' 默认表达式写法,带参数
按钮1.置被单击回调((源按钮,源事件)=>{
调试输出(源按钮)
调试输出(源事件)
})
' 如果不需要参数可以省略
按钮1.置被单击回调((源按钮,源事件)=>{
调试输出("按钮1被单击")
})
什么时候拉姆达表达式的参数可以省略呢?
1.在不需要使用参数的时候。
2.在不使用子程序接收回调事件的时候。
2.被执行的代码必须使用 { } 包裹
代码示例:
按钮1.置被单击回调((源按钮,源事件)=>{
' 待执行语句必须在{ }中,哪怕只有一句代码,也必须在{ } 中。
调试输出("按钮1被单击")
})
错误语法:
按钮1.置被单击回调((源按钮,源事件)=>调试输出("按钮1被单击")) ' 调试输出 函数没有在{ }内,轻语言编译器编译时会报错
注意事项
- 页面变量声明类型:在页面级(不在函数/事件内)声明组件或类变量时必须用
为关键字指定类型,例如变量 按钮1 为 按钮;局部变量无此要求。 - 数组索引从 0 开始:取出第 N 个元素用
数组[N-1]。 - 对象属性无智能提示:自定义对象属性 IDE 无法提示,需手敲。
- 遍历对象需用循环:通过
变量循环+取对象成员数+取对象成员名遍历对象的属性。 - 拉姆达表达式必须用
{}包裹:单行表达式体也必须用花括号包裹,否则编译报错。 - 拉姆达只能作为参数传递:不能赋值给变量(详见文档
轻语言网站:轻语言语法速查)。 空与未定义:空表示空对象(null),未定义表示未初始化的变量(undefined)。- 逻辑值字面量:使用
真/假,不是true/false。
学习要点总结
| 知识点 | 关键代码 | 适用场景 |
|---|---|---|
| 变量声明 | 变量 X = 0 | 局部变量 |
| 带类型声明 | 变量 按钮1 为 按钮 | 页面级组件/类变量 |
| 函数定义 | 函数 名(参数) ... 返回 值 结束 函数 | 复用逻辑 |
| 数组定义 | 变量 数组 = [1,2,3] | 有序数据集合 |
| 数组取值 | 数组[0] | 按索引取值 |
| 数组长度 | 取数组成员数(数组) | 获取成员数 |
| 对象定义 | 变量 用户 = {名称:"张三"} | 键值对数据 |
| 对象取值 | 用户.名称 / 用户["名称"] | 取属性值 |
| 遍历对象 | 变量循环 + 取对象成员名 | 遍历属性 |
| 拉姆达 | (参数) => { 语句 } | 回调函数 |
相关文档
- 文档
轻语言网站:循环语句体结构—— 变量循环遍历对象/数组 - 文档
轻语言网站:轻语言语法速查—— 函数定义、作用域、拉姆达限制 - 文档
前端(JavaScript)函数_数组——取数组成员数、添加成员、删除成员 - 文档
前端(JavaScript)函数_对象——取对象成员数、取对象成员名、删除对象属性 - 文档
前端(JavaScript)函数_JSON——JSON编码/JSON解析 - 文档
综合演示:XML 定义待办事项列表演示—— 对象数组与列表渲染实战 - 文档
综合演示:手机移动端记事本网页开发—— 对象数组与本地存储 - 文档
综合演示:网页留言板开发—— 对象数组增删改查