Javascript For ExtendScript-keys()中的循环。forEach不是函数
我正在使用ExtendScript和bridge将标签附着到excel文档中的文档。我正在使用js xlsx库解析excel文档。我正在运行一个for循环来解析各个单元格并获取值,当我从命令行运行它时,它可以完美地工作。然而,当我在ExtendScript中运行它时,我得到一个异常,keys().forEach不是一个函数。ExtendScript对循环的读取是否因某种原因而有所不同?我很难弄明白这一点。这是给我带来麻烦的一句话:Javascript For ExtendScript-keys()中的循环。forEach不是函数,javascript,arrays,loops,xlsx,extendscript,Javascript,Arrays,Loops,Xlsx,Extendscript,我正在使用ExtendScript和bridge将标签附着到excel文档中的文档。我正在使用js xlsx库解析excel文档。我正在运行一个for循环来解析各个单元格并获取值,当我从命令行运行它时,它可以完美地工作。然而,当我在ExtendScript中运行它时,我得到一个异常,keys().forEach不是一个函数。ExtendScript对循环的读取是否因某种原因而有所不同?我很难弄明白这一点。这是给我带来麻烦的一句话: var range = {s:{c:0, r:0}, e:{c:
var range = {s:{c:0, r:0}, e:{c:1,r:30}};
for (var R = range.s.r; R <= range.e.r; ++R) {
for (var C = range.s.c; C <= range.e.c; ++C) {
var cell_address = xls.utils.encode_cell({c:C, r:R});
var range={s:{c:0,r:0},e:{c:1,r:30};
对于(var R=range.s.R;R我发现了这一点。错误在文件的下面。ExtendScript或我的版本不支持forEach循环,因此我必须为forEach函数编写文件并导入它。我发现了这一点。错误在文件的下面。ExtendScript或我的版本不支持forEach循环每个函数都会循环,因此我必须写出forEach函数的文件并导入它。Extendscript作为一种语言,被困在ECMAScript 3中–因此它本就不知道Object.keys()
,也不知道Array.forEach()
。甚至不知道JSON
第3页正式提到了这一点,其中写道:
After Effects脚本使用Adobe ExtendScript语言,这是一种
多个Adobe应用程序使用的JavaScript扩展形式,
包括Photoshop、Illustrator和InDesign.ExtendScript
根据ECMA-262实现JavaScript语言
规范。后效脚本引擎支持第三种
ECMA-262标准的版本,包括其符号和词汇
约定、类型、对象、表达式和语句
还实现了E4X ECMA-357规范,该规范定义了访问权限
将数据转换为XML格式
以上内容在PS脚本指南中找不到,也没有参考
如果您想使用ES5功能,可以包括垫片,也可以试一试。Extendscript是一个脚本社区项目(没有Adobe参与),它应该允许您编写ES5/ES6代码,然后转换为ES3。Extendscript作为一种语言,停留在ECMAScript 3上–因此它本机不知道Object.keys(),也不是Array.forEach()
。甚至不是JSON
第3页正式提到了这一点,其中写道:
After Effects脚本使用Adobe ExtendScript语言,这是一种
多个Adobe应用程序使用的JavaScript扩展形式,
包括Photoshop、Illustrator和InDesign.ExtendScript
根据ECMA-262实现JavaScript语言
规范。后效脚本引擎支持第三种
ECMA-262标准的版本,包括其符号和词汇
约定、类型、对象、表达式和语句
还实现了E4X ECMA-357规范,该规范定义了访问权限
将数据转换为XML格式
以上内容在PS脚本指南中找不到,也没有参考
如果您想使用ES5功能,可以包括填隙片,也可以试一试。ExtendScript是一个脚本社区项目(没有Adobe参与)这应该允许您编写ES5/ES6代码,然后将其转换为ES3。更新了帖子。奇怪的是,关于ECMA合规性的信息并没有在每个应用程序的官方脚本文档中共享。在这种情况下包含的垫片文件:更新了帖子。奇怪的是,关于ECMA合规性的信息从来没有被共享过y应用程序的官方脚本文档。在这种情况下要包含的垫片文件: