使用javascript编写Photoshop脚本:变量won't assign
Photoshop scripting with javascript: variable won't assign
我刚刚开始尝试用javascript编写一些photoshop脚本,并在switch语句中遇到这个问题-代码如下:
var document = app.activeDocument;
var activeLayer = document.activeLayer;
if(activeLayer.kind == LayerKind.TEXT) {
var textItem = activeLayer.textItem;
var newText = "null";
var iString = "null";
for (var i=0; i<=720; i++) {
switch (i)
{
case (i<=60):
if (i==60) {
iString = "00";
} else {
iString = i.toString();
}
newText = "00:" + iString;
break;
case (etc...):
etc...
break;
}
textItem.contents = newText;
var saveFile = new File("/Users/Family/Desktop/wallpaper-clock/lake_" + newText);
document.saveAs(saveFile);
}
}
这不会在photoshop中抛出任何错误,但newText保持为'null'并且不会在switch语句中设置任何内容。就好像整个开关什么都没做!它可能只是一个愚蠢的语法错误(一直在使用Objective-C一段时间!)或可能的范围?无论如何,任何建议都会很有帮助!
谢谢。
这不是JavaScript switch ... case
语句的工作方式。case
表达式是静态求值的。
基本上你需要if
而不是switch
:
if (i <= 60) {
// ...
}
else if (i <= whatever) {
// ...
}
// ... and so on ...
而且,您几乎肯定想要常量null
而不是字符串"null"
。
相关文章:
- AngularJS ng include won'不知什么原因不起作用
- 如何使用object.assign()从其他对象引用基本对象属性
- 依次调用location.reload()和location.assign()
- 通过php添加到变量won'不起作用
- vue-js-单选按钮won't默认情况下使用v-model属性进行检查
- Object.assign(),函数方法和内存使用
- 是否可以使用Object.assign来克隆带有其方法的对象
- 在html中显示javascript变量won'不起作用
- Issues with window.location.assign
- 何时需要使用Object.assign()方法来复制对象的实例
- 将函数参数传递给Object.assign
- window.location.assign(varString)不起作用
- javascript Object.assign() functionality
- “Object.assign()”polyfill中“Object(target)”的用途是什么
- 通过location.assign()传递url哈希
- Javascript发布到表单-won'如果字段是隐藏的,则不起作用
- javascript for loop won't iterate
- angular won't显示范围变量(已完成)
- Javascript Object Composition with assign & Object.creat
- 使用javascript编写Photoshop脚本:变量won't assign