速生应用文档中心

逻辑流程

  1. 变量
  2. 条件
  3. 循环

等效变量

let items = (function () { return [ {name: 'foo'}, {name: 'bar'} ] })()

等效条件

if (showIf && !hideIf) { // code }

等效循环

for (let index = 0; index < items.length; index++) { const item = items[index] // code }

等效事件

// 获取元素 const button = document.getElementById('myButton') // 添加 click 事件监听器 button.addEventListener('click', function() { set('name', 'new') })

常规函数

set

用于设置对象的某个属性值,如果路径不存在,则会创建它。

set(path, value) // set(path: string, value: any): any
  • path: 要修改的目标对象属性路径,可以是一个字符串(用点 . 分隔的路径)或数组。
  • value: 要设置的值。

赋值

set('name', 'new')
等效
let name = 'value' name = 'new'

通过路径赋值

set('user.name', 'bar')
等效
let user = {name: 'foo'} user.name = 'bar'

通过路径赋值(数组)

set('users.1.name', 'john')
等效
let users = [{name: 'foo'}, {name: 'bar'}] users[1].name = 'john'

get

获取对象中指定路径的值,如果路径不存在,则返回默认值(默认值为 undefined

常规获取值

get(path, defaultValue) // get(path: string, defaultValue?: any): any
  • path: 属性路径,可以是一个字符串(如 'a.b.c')或数组(如 `['a', 'b', 'c'])。
  • defaultValue (可选): 如果路径不存在,则返回该默认值。默认为 undefined

通过路径获取值

get('user.name')
等效
user.name

unset

删除对象中指定路径的属性。

unset(path) // unset(path: string)
  • path: 属性路径,可以是字符串或数组。
  • 返回值: 如果删除成功,返回 true;如果路径不存在或无法删除,返回 false

has

检查对象中是否包含指定路径的属性。

has(path) // has(path: string): boolean
  • path: 属性路径,可以是一个字符串(例如 'a.b.c')或数组(例如 ['a', 'b', 'c'])。
  • 返回值: 如果对象包含指定的路径,返回 true,否则返回 false

数组函数

push

向数组的末尾添加一个或多个元素,并返回新的数组长度。

push('path', {name: 'foo'})

等效

let items = [] items.push({name: 'foo'})

pop

移除数组的最后一个元素,并返回该元素。此操作会改变原数组的长度。

pop('items')

等效

//let items = ['Banana', 'Orange', 'Apple', 'Mango'] items.pop()

shift

移除数组的第一个元素,并返回该元素。此操作会改变原数组的长度。

shift('items')

等效

//let items = ['Banana', 'Orange', 'Apple', 'Mango'] items.shift()

splice

从数组中删除、替换或添加任意位置的元素。它可以接收多个参数,第一个参数是起始索引,第二个参数是要删除的元素个数,后续参数是要插入的元素。

splice('items', 2, 0, 'Lemon', 'Kiwi')

等效

//let items = ['Banana', 'Orange', 'Apple', 'Mango'] items.splice(2, 0, 'Lemon', 'Kiwi')

Data Store (数据存储)

set(nameOrObject, value)

设置数据存储中的值。可以接受一个对象来设置多个键值对,或者接受键和值来设置单个键值对。
参数:

  • nameOrObject: string | Object — 如果是字符串,表示要设置的键名;如果是对象,则包含要设置的多个键值对。
  • value: any (可选) — 如果 nameOrObject 是字符串,则此参数表示要设置的值。

返回:

示例:

set("myKey", "myValue"); set({ key1: "value1", key2: 123 });

get(name, defaultValue)

从数据存储中获取指定键的值。如果键不存在,则返回可选的默认值。
参数:

  • name: string — 要获取的键名。
  • defaultValue: any (可选) — 如果键不存在时返回的默认值。

返回:

  • any — 键对应的值或默认值。

示例:

const value = get("myKey", "defaultValue");

push(name, value)

将一个值追加到数据存储中指定键的数组中。如果指定键的值不是数组,则会抛出错误。
参数:

  • name: string — 要操作的数组的键名。
  • value: any — 要追加到数组中的值。

返回:

  • Array<any> — 追加后的数组。

示例:

set("myArray", [1, 2]); push("myArray", 3); // myArray 现在是 [1, 2, 3]

setContext(nameOrObject, value)

设置上下文数据中的值。可以接受一个对象来设置多个键值对,或者接受键和值来设置单个键值对。上下文数据通常用于在不同的脚本执行之间共享数据。
参数:

  • nameOrObject: string | Object — 如果是字符串,表示要设置的键名;如果是对象,则包含要设置的多个键值对。
  • value: any (可选) — 如果 nameOrObject 是字符串,则此参数表示要设置的值。

返回:

示例:

setContext("user", { id: 1, name: "Alice" }); setContext({ theme: "dark", lang: "en" });

getContext(name, defaultValue)

从上下文数据中获取指定键的值。如果键不存在,则返回可选的默认值。
参数:

  • name: string — 要获取的键名。
  • defaultValue: any (可选) — 如果键不存在时返回的默认值。

返回:

  • any — 键对应的值或默认值。

示例:

const user = getContext("user", null);

getContexts()

返回所有上下文数据。
参数:

返回:

  • Object — 包含所有上下文数据的对象。

示例:

const allContexts = getContexts(); console.log(allContexts.theme);

Core (核心)

runActions(actionNames)

运行一个或多个宿主环境定义的动作。
参数:

  • actionNames: string | Array<string> — 要运行的动作的名称或名称数组。

返回:

示例:

runActions("action1"); runActions(["action2", "action3"]);

目录