我试图检查层的类型,以确保我的函数调用仅适用于选定层中的文本层(选定层数为数百)。看来我在使用typeOf方法时犯了一些错误。有人可以帮忙吗?
var myComp = app.project.activeItem;
var selectedLayers = myComp.selectedLayers;
var numLayers = selectedLayers.length;
for(var i=0; i < numLayers; i++){
var mySourceText = selectedLayers[i].property("ADBE Text Properties").property("ADBE Text Document");
var myTextDoc = mySourceText.value;
if (typeOf(selectedLayers[i]) == "TextLayer") {
mySourceText.setValue(trim(myTextDoc));
}
}
function trim(strValue){
var str = new String(strValue);
return str.replace(/(^\s*)|(\s*$)/g,"");
}
答案 0 :(得分:1)
您想要的正确布尔测试是
if (selectedLayers[i] instanceof TextLayer) {
instanceof
,TextLayer
中没有引号。