我不知道问题出在我身上还是在OS X
身上。
我有这个AppleScript:
tell application "Caffeine"
if active then
turn off
else
turn on
end if
end tell
我将此翻译为此JavaScript
caffeine = Application("Caffeine");
if (caffeine.active)
{
caffeine.turnOff();
}
else
{
caffeine.turnOn();
}
但是,无论我运行多少次,都永远不会执行
caffeine.turnOn();
。如果咖啡因是活性的,则将其关闭,否则无效。将运行等效的AppleScript。 caffeine.turnOn();
和caffeine.turnOff();
本身也可以正常运行。我无法想象,用于OSA的JavaScript确实坏了,甚至无法正常工作。 最佳答案
caffeine.active
可能是一个函数,当不调用时,它将始终是真实的:
var my_fn = function() {};
if (my_fn) console.log('my_fn is truly');
调用函数:
var caffeine = Application("Caffeine");
if (caffeine.active()) {
caffeine.turnOff();
}
else {
caffeine.turnOn();
}
一种检查方法是简单地记录值:
console.log(caffeine.active); // function() { .... }
// or using typeof
console.log(typeof caffeine.active); // "function"