企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
Memento包含用户使用JavaScript完成超出常规Memento用户界面功能的复杂任务的功能。示例包括JavaScript字段,触发器,操作和数据源。 Memento JavaScript库可用于访问Memento设施。 为了使JavaScript字段对用户来说既简单又安全,它们可以只使用库的一部分,简化了它的使用性质。将识别与JavaScript字段相关的任何限制或差异。 [TOC] ## 库和条目[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=1 "编辑小节:库和条目")] ### '库'全局函数[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=2 "编辑小节:'库'全局函数")] #### entry()[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=3 "编辑小节:entry()")] 获取事件的Entry对象。例如,如果脚本由Update Entry事件触发,则此函数将返回正在更新的条目。 这个Entry对象是实际Entry对象的克隆。如果条目已保存,则此对象将成为实际的对象,但如果调用cancel(),则会删除此条目克隆以及脚本可能执行的任何更改。 此功能可用于所有事件和阶段,但**创建条目**>除外。 **打开一个条目编辑卡**;对于这个动作,使用函数*entryDefault()*。 结果 [***Entry***object](http://www.jsaaa.cc/app/mementodatabase/index.php/%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93#Object_Entry)—当前条目 使用 ~~~ var e = entry(); //当前条目对象 //条目对象指定字段的值 var str = entry().field("Number"); e.field("苹果"); //代表当前条目指定字段"苹果"内容 ~~~ #### entryDefault()[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=4 "编辑小节:entryDefault()")] 获取包含尚未创建的条目的默认字段值的Entry对象。此功能仅适用于活动**创建条目**和阶段**打开条目编辑卡**。 结果 [***DefaultEntry***object](http://www.jsaaa.cc/app/mementodatabase/index.php/%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93#Object_DefaultEntry) 使用 ~~~ var e = entryDefault();//尚未创建的默认值的条目对象 entryDefault().set("StartMileage","cc"); ~~~ #### exit()[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=5 "编辑小节:exit()")] 停止脚本执行 使用 ~~~ exit(); ~~~ #### lib()[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=6 "编辑小节:lib()")] 获取触发事件的库 结果 [***Library***object](http://www.jsaaa.cc/app/mementodatabase/index.php/%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93#Object_Library)—目前的图书馆 使用 ~~~ var lib = lib(); //当前库对象 ~~~ #### libByName(name)[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=7 "编辑小节:libByName(name)")] 按名称查找图书馆。根据安全设置,需要使用库的许可。 参数 要找到的库的名称 结果 [***Library***object](http://www.jsaaa.cc/app/mementodatabase/index.php/%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93#Object_Library)—如果找到,则由参数*name*标识库。否则为'null*。* 使用 ~~~ var lib = libByName("b"); //指定库,对象 ~~~ ### 对象*库*[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=8 "编辑小节:对象库")] 该对象提供对库条目的访问。您可以使用当前库— *lib()*—或数据库中的任何其他库— *libByName() *。该功能可以更新现有条目并创建新条目。 #### *Library*方法[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=9 "编辑小节:Library方法")] ##### create(values)[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=10 "编辑小节:create(values)")] 在库中创建一个新条目 **争论** 值 [***Object***](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)包含字段值 结果 [***Entry***object](http://www.jsaaa.cc/app/mementodatabase/index.php/%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93#object_entry)—图书馆中的新条目 使用 ~~~ //假设要操作的库是"Members" var members = libByName("Members"); //需要库的操作权限 //创建一个新条目 var newMember = new Object(); //从应用程序数据设置成员字段并添加新的成员条目 newMember ["Name"] = e.field("Name"); newMember ["Type"] = e.field("Type"); members.create(newMember); ~~~ ##### entries()[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=11 "编辑小节:entries()")] 获取库的所有条目 结果 数组对象包含条目,按其创建时间从最新到最旧排序 使用 注意:以下代码,都是散开详解的,要学会灵活使用! ~~~ var entries = lib().entries(); //获取当前库及其条目的数组 var num = entries.length //数组的条目数 var str = entries[0].field("Mileage");//第几个条目的指定字段内容 /* *循环条目数组 */ var entries = lib().entries(); //包含所有条目的数组 var unique = true; //最初假设 for (var ent = 0; ent < entries.length; ent++) { //遍历所有条目 if (entries[ent].field("myField") === myField) //如果有匹配, unique = false; } /* *讲解 */ var entries = lib().entries(); ~~~ 这个 entries 输出是什么,它是条目数组对象 输出 ~~~ [com.luckydroid.droidbase.triggers.objects.JSEntry@995f049, com.luckydroid.droidbase.triggers.objects.JSEntry@2583bd4e, com.luckydroid.droidbase.triggers.objects.JSEntry@15198e6f, com.luckydroid.droidbase.triggers.objects.JSEntry@1e21a77c, com.luckydroid.droidbase.triggers.objects.JSEntry@1b444805] ~~~ ##### find(query)[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=12 "编辑小节:find(query)")] 在匹配给定查询的库中的条目中搜索字段值。此搜索与通过Memento的用户界面搜索类似。 **争论** 查询 搜索字符串 结果 包含匹配条目的数组对象。条目按其创建时间排序,从最新到最旧。 ##### findById(id)[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=13 "编辑小节:findById(id)")] 按条目ID搜索所有条目。 **争论** id 唯一标识条目的ID字符串。 结果 [***Entry***object](http://www.jsaaa.cc/app/mementodatabase/index.php/%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93#Object_Entry),如果找到。否则,'null*。* ##### findByKey(name)[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=14 "编辑小节:findByKey(name)")] 按条目名称搜索所有条目。该库必须设置为唯一的条目名称。 **争论** 名称 条目名称字段值 结果 [***Entry***object](http://www.jsaaa.cc/app/mementodatabase/index.php/%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93#Object_Entry),如果找到。否则,'null*。* ##### linksTo(entry)[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=15 "编辑小节:linksTo(entry)")] 获取库中包含指向条目的链接的条目。 **参数** 条目 用于搜索指向它的链接的条目。 结果 包含条目的数组对象。 ##### show()[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=16 "编辑小节:show()")] 显示库 #### *Library*属性[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=17 "编辑小节:Library属性")] title 图书馆的名称 ### 条目对象[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=18 "编辑小节:条目对象")] 该对象包含当前库的条目,允许设置字段值 #### 条目方法[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=19 "编辑小节:条目方法")] ##### field(name)[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=20 "编辑小节:field(name)")] 获取指定字段的值 **争论** 名称 字段的名称 结果 字段的值。结果的类型取决于字段的类型。 使用 ~~~ field("水果"); //“水果”字段的值 ~~~ 字段类型返回值 | 字段类型 | JavaScript对象 | 例子 | | 文本,超链接,密码,电话,电子邮件,计算(字符串结果),单选按钮,单选列表 | [**字符串**](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | “ABC” | | 整数,实数,评级,货币,计算(数字结果) | [**号码**](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number) | 42,42.1 | | 日期,日期时间,时间 | [**日期**](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Date) | | 复选框(布尔) | [**布尔'**](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean) | 真假 | | 复选框,多选列表 | [[1]](https://developer.mozilla.org/docs/Web/JavaScript/Reference/)的[**数组**](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array) 全局对象/字符串**字符串**] | [“衬衫”,“裤子”,“袜子”] | | 图片 | [[2]](https://developer.mozilla.org/docs/Web/JavaScript/Reference/)的[**数组**](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array) 全局对象/字符串**字符串**] | [“file:///storage/emulated/0/DCIM/image01.png”,“file:///storage/emulated/0/DCIM/image02.png”] | | 链接到条目 | [**条目**](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E8%A7%A6%E5%8F%91%E5%99%A8%EF%BC%83%E6%9D%A1%E7%9B%AE%E5%AF%B9%E8%B1%A1&action=edit&redlink=1 "触发器#条目对象(页面不存在)")的[**数组**](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)] >每个数组元素都有一个方法“field()”,用于访问链接库条目的字段值。例如: 字段( “localField”)[I]的字段( “remoteField”) | [e1,e2,e3] | ##### link(name, entry)[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=21 "编辑小节:link(name, entry)")] 添加链接—到当前库中的链接到条目字段—到相关图书馆的入口。 **参数** name 要添加链接的链接到条目的名称字段 entry 输入到要链接的字段相关库中 ##### recalc()[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=22 "编辑小节:recalc()")] 重新计算输入字段的值。 ##### set(name, value)[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=23 "编辑小节:set(name, value)")] 设置命名字段的值。调用此方法会立即将该值写入库。 **注意:**如果要设置的字段是链接到条目字段,则第二个参数应该是要链接到的条目的条目名称。如果在该库中有多个字段设置为条目名称,则set()方法的条目名称是通过用逗号(,)分隔这些字段的值来形成的 - —不是逗号和空格,而只是逗号。 **参数** name 字段的名称 value 字段的值 * 对于多选列表和复选框字段,字符串数组提供值。 * 对于链接到条目字段,一串字符串—其中每一个都可能是逗号分隔的字段名称列表—提供要链接的条目的条目名称。 * 对于链接到文件字段,路径名称数组标识要链接的文件。 使用 ~~~ var e = entry(); e.set("水果","苹果"); //设置苹果字段的值为苹果,该操作会立即写入库。 ~~~ ##### show()[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=24 "编辑小节:show()")] 显示条目 ##### unlink(name, entry)[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=25 "编辑小节:unlink(name, entry)")] 删除链接—从当前库中的链接到输入字段—到相关图书馆的入口。 **参数** name 从中删除链接的链接到条目的链接名称 entry 在字段的相关库中输入标识要删除的链接 #### 条目属性[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=26 "编辑小节:条目属性")] author 创建条目的用户的ID creationTime 创建条目的日期和时间 deleted 真,如果条目被删除(它在回收站中) description 条目描述 favorites 如果条目位于收藏夹中,则为true id 条目标识符 lastModifiedTime 条目上次修改的日期和时间 name 条目名称 title 条目名称 ### *DefaultEntry*对象[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=27 "编辑小节:DefaultEntry对象")] 具有新条目的默认值的模板。此功能仅适用于活动**创建条目**和阶段**打开条目编辑卡**。 #### *DefaultEntry*方法[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=28 "编辑小节:DefaultEntry方法")] ##### 设置(名称,值)[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=29 "编辑小节:设置(名称,值)")] 设置字段的值 **参数** 名称 字段的名称 值 字段的值 ### 库和条目对象的例子[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=30 "编辑小节:库和条目对象的例子")] 请参阅**[触发器示例#库示例](http://www.jsaaa.cc/app/mementodatabase/index.php/%E8%A7%A6%E5%8F%91%E5%99%A8%E7%A4%BA%E4%BE%8B#.E5.BA.93.E7.A4.BA.E4.BE.8B "触发器示例")**。  * * * ## 使用文件[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=31 "编辑小节:使用文件")] 通过脚本,您可以读取或写入设备内部存储器或SD卡上的文件。所有的文件操作都是通过一个名为*file()*的全局函数获得的'File'对象来执行的。 为了处理文件,库应该具有读/写文件访问权限。 ### *文件*全局函数[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=32 "编辑小节:文件全局函数")] #### file(name)[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=33 "编辑小节:file(name)")] 打开文件进行读取或写入操作。如果具有指定名称的文件尚不存在,它将被创建。 **争论** 名称 文件的名称和完整路径。例如,如果文件位于SD卡上,路径应该是/sdcard/example.txt。 结果 [***File***object](http://www.jsaaa.cc/app/mementodatabase/index.php/%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93#Object_File) ### 文件对象[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=34 "编辑小节:文件对象")] 该对象由全局函数"file()"返回并提供对所请求文件的访问。阅读或写作后,应使用方法*close()*关闭文件。 #### 文件方法[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=35 "编辑小节:文件方法")] close() 关闭文件。随后可以重新打开。 getLineNumber() 获取当前行号 返回 文件中的行号或位置 readAll() 读取文件的所有行,然后关闭文件 返回 包含文件行的数组 readChar() 从文件流中读取下一个字符 返回 字符 readLine() 从文件流中读取下一行 返回 该行 readLines() 从文件流中读取剩余的行 返回 包含文件其余行的数组 write(text) 写入字符串。获取可变数量的参数,将每个参数转换为字符串,然后将该字符串写入文件流。 writeLine(text) 向文件流写入字符串和换行符 #### *文件*属性[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=36 "编辑小节:文件属性")] exists true—当且仅当文件存在;否则为假 length 文件的长度(以字节为单位),如果文件不存在,则为0L。 ### 文件示例[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=37 "编辑小节:文件示例")] 参见**[Trigger Examples#Files Examples](http://www.jsaaa.cc/app/mementodatabase/index.php/Trigger_Examples#Files_Examples "Trigger Examples")**。  * * * ## 处理HTTP请求[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=38 "编辑小节:处理HTTP请求")] 脚本可以通过其API发送HTTP请求到Web服务。 对HTTP请求的处理允许Memento和系统之间的集成。所有文件操作都使用Http对象,它通过全局函数*http()*工作。 HTTP请求必须满足两个要求: 1. 脚本执行必须是**异步**,所以HTTP请求会进入事件的最后阶段。 2. 图书馆应该拥有**Network**权限。 ### *Http*对象[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=39 "编辑小节:Http对象")] 处理HTTP请求的接口 #### *Http*方法[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=40 "编辑小节:Http方法")] ##### get(url)[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=41 "编辑小节:get(url)")] 执行HTTP获取请求 **争论** 网址 HTTP地址,以http或https开头 **结果** HttpResult 包含HTTP请求执行结果的对象 ### *HttpResult*对象[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=42 "编辑小节:HttpResult对象")] 执行HTTP请求的结果 #### *HttpResult*属性[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=43 "编辑小节:HttpResult属性")] body 文本形式的回应 代码 响应的HTTP代码,如果请求成功(通常为200)。 ### Http例子[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=44 "编辑小节:Http例子")] 参见**[Trigger Examples#Http Examples](http://www.jsaaa.cc/app/mementodatabase/index.php/Trigger_Examples#Http_Examples "Trigger Examples")**。  * * * ## 与系统的交互[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=45 "编辑小节:与系统的交互")] ### *系统*全局函数[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=46 "编辑小节:系统全局函数")] #### cancel()[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=47 "编辑小节:cancel()")] 停止导致事件的系统操作。许多触发器可能是输入操作(创建,更新,删除等)的结果。 *cancel()*函数可以在系统操作之前的阶段使用。例如,可以在保存条目之前在数据验证期间使用此功能。 用法 //使用这个函数,将直接停止系统操作,比如新建条目前,启用这个函数,条目则不会被新建,界面将停留在当前条目的输入状态 cancel(); #### guid()[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=48 "编辑小节:guid()")] 生成随机文本标识符 结果 随机字符串标识符 #### intent(action)[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=49 "编辑小节:intent(action)")] 创建一个信息交换对象—意图。该功能可以将操作请求发送给其他应用程序。 此功能仅适用于Android。 **争论** 行动 界定标准行动的行(例如,查看,挑选) 结果 [''******object******](http://www.jsaaa.cc/app/mementodatabase/index.php/%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93#Object_Intent)***—信息交换对象*** 收到对象后,数据将被添加到它,然后通过"send()"发送。 Android有许多内置操作。这些操作的列表可以在[**here**](https://developer.android.com/reference/android/content/Intent.html)找到。 #### log(text)[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=50 "编辑小节:log(text)")] 将一行写入日志文件 **争论** 文本 要写入日志的文本 #### message(text)[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=51 "编辑小节:message(text)")] 向用户显示一个简短的通知 **争论** 文本 通知的文本 用法 ~~~ //弹出一个提示内容 message("您好!"); ~~~ #### system()[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=52 "编辑小节:system()")] 获取有关系统的信息 结果 [***System***object](http://www.jsaaa.cc/app/mementodatabase/index.php/%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93#Object_System) ### 对象*系统*[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=53 "编辑小节:对象系统")] 该对象包含有关系统的信息。 #### *系统*全局函数[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=54 "编辑小节:系统全局函数")] exit() 结束脚本执行 #### *系统*属性[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=55 "编辑小节:系统属性")] os 执行脚本的操作系统的名称 ### *意图*对象[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=56 "编辑小节:意图对象")] 信息交换对象。该对象是通过使用全局函数"intent()"创建的。 #### *意图*方法[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=57 "编辑小节:意图方法")] ##### data(uri)[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=58 "编辑小节:data(uri)")] 定义URI以引用数据 **争论** uri 引用将应用该操作的数据的URI。它可以是联系人ID,文件路径,电话号码等。 ##### extra(key, value)[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=59 "编辑小节:extra(key, value)")] 根据需要执行所需操作,将附加数据定义为键值对。与某些操作需要URI数据的方式类似,其他操作可能需要此格式的额外数据。 **参数** 键 附加数据项的键 值 附加数据项的值 ##### extraLong(key,value)[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=60 "编辑小节:extraLong(key,value)")] 将其他数据定义为键值对,其中数据类型需要为Long **参数** 键 附加数据项的键 值 附加数据项的值 ##### mimeType(mime)[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=61 "编辑小节:mimeType(mime)")] 定义数据的MIME类型 **争论** mime 将在其上执行操作的数据的MIME类型 ##### send()[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=62 "编辑小节:send()")] 发送一个消息 ### 系统示例[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=63 "编辑小节:系统示例")] 请参阅**[触发示例#系统示例](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E8%A7%A6%E5%8F%91%E7%A4%BA%E4%BE%8B&action=edit&redlink=1 "触发示例(页面不存在)")**。  * * * ## 某些Memento字段类型的内置对象[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=64 "编辑小节:某些Memento字段类型的内置对象")] ### *JSContact*对象[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=65 "编辑小节:JSContact对象")] 此对象包含存储在"联系人"字段中的信息,并提供用于访问和操作此信息的属性和方法。 当调用一个Entry对象的field()方法时,如果Memento字段类型为Contact,则返回一个JSContact对象。 如果联系人字段包含多个联系人,请使用*hasNext*和*next*来检索它们。 #### JSContact方法[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=66 "编辑小节:JSContact方法")] call() 如果设备是电话,则拨打此联系人的主要电话号码 sendEmail(subject, message) 解释:sendEmail(主题,消息) 发送电子邮件到主题的电子邮件地址,主题为***主题***和邮件''''''***(文本字符串)*** sendSMS(message) 解释:sendSMS(消息文本内容) 如果设备是电话,则将提供的***消息***(文本字符串)作为SMS消息发送到此联系人的主要电话号码 show() 打开此联系人的联系人应用程序 ## JSContact属性==[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=67 "编辑小节:JSContact属性==")] email 此联系人的主要电子邮件地址 fullName 此联系人的全名 hasNext 如果存在下一个JSContact对象,则返回TRUE,否则返回FALSE next 返回下一个JSContact对象,如果有的话。 phone 此联系人的主要电话号码 ### *JSGeolocation*对象[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=68 "编辑小节:JSGeolocation对象")] 该对象包含存储在位置字段中的信息,并提供用于访问和操作此信息的属性和方法。 当调用一个条目对象的field()方法时,如果Memento字段类型是Location,则返回一个JSGeolocation对象。 如果位置字段包含多个位置,请使用*hasNext*和*next*来检索它们。 #### JSGeolocation属性[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=69 "编辑小节:JSGeolocation属性")] address 该地点的地址 hasNext 如果存在下一个JSGeolocation对象,则返回TRUE,否则返回FALSE lat 纬度,作为一个真实的 lng 经度,作为一个真实的 next 返回下一个JSGeolocation对象,如果有的话。 ### 内置对象示例[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=70 "编辑小节:内置对象示例")] 请参阅**[触发器示例#内置对象示例](http://www.jsaaa.cc/app/mementodatabase/index.php/%E8%A7%A6%E5%8F%91%E5%99%A8%E7%A4%BA%E4%BE%8B#.E5.86.85.E7.BD.AE.E5.AF.B9.E8.B1.A1.E7.A4.BA.E4.BE.8B "触发器示例")**。  * * * ## 另请参阅[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=71 "编辑小节:另请参阅")] [脚本操作](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E8%84%9A%E6%9C%AC%E6%93%8D%E4%BD%9C&action=edit&redlink=1 "脚本操作(页面不存在)") 纪念品操作 [Script Data Sources](http://www.jsaaa.cc/app/mementodatabase/index.php/Script_Data_Sources "Script Data Sources") 纪念品数据源 [触发](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E8%A7%A6%E5%8F%91&action=edit&redlink=1 "触发(页面不存在)") 纪念物触发器 [触发示例](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E8%A7%A6%E5%8F%91%E7%A4%BA%E4%BE%8B&action=edit&redlink=1 "触发示例(页面不存在)") 记忆触发器的示例 [提示:在Memento中使用JavaScript](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E6%8F%90%E7%A4%BA:%E5%9C%A8Memento%E4%B8%AD%E4%BD%BF%E7%94%A8JavaScript&action=edit&redlink=1 "提示:在Memento中使用JavaScript(页面不存在)") 在Memento中使用JavaScript的提示 ### JavaScript链接[[编辑](http://www.jsaaa.cc/app/mementodatabase/index.php?title=%E7%BA%AA%E5%BF%B5%E5%93%81JavaScript%E5%BA%93&action=edit&section=72 "编辑小节:JavaScript链接")] | **W3Schools** | | [**JavaScript教程**](http://www.w3schools.com/js/) | 一个令人愉快的,相当完整的,有用的JavaScript教程 最好在风景中的计算机或平板电脑上。在纵向手机或平板电脑上,滚动至底部进行导航。 | | **Mozilla开发者网络** | | [**JavaScript指南**](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide) | 向您展示如何使用JavaScript,概述语言,并介绍其功能和特性 | | [**JavaScript参考**](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference) | 整个JavaScript语言详细描述 | | [**JavaScript简介**](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Introduction) | 介绍JavaScript并讨论其一些基本概念 | | [**JavaScript教程**](https://developer.mozilla.org/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript) | 重新介绍。 JavaScript通常被认为是一种玩具,但在其简单性之下,强大的语言特性正在等待着。 | | [**JavaScript 1.7**](https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/1.7) | Memento目前基于的JavaScript版本 | | [**关于JavaScript**](https://developer.mozilla.org/en-US/docs/Web/JavaScript) | 在学习JavaScript的过程中跳出一个关键点 |