我如何停止执行JavaScript?
如何在执行后停止执行此Javascript? 通常这个问题是由于函数中缺少返回语句引起的。 那么,两个函数都会返回一些东 那么为什么Skript会继续运行,我能做些什么呢?
var system = require('system');
var args = system.args;
function hexToRgb(hex) {
// Expand shorthand form (e.g. "03F") to full form (e.g. "0033FF")
var shorthandRegex = /^#?([a-fd])([a-fd])([a-fd])$/i;
hex = hex.replace(shorthandRegex, function(m, r, g, b) {
return r + r + g + g + b + b;
});
var result = /^#?([a-fd]{2})([a-fd]{2})([a-fd]{2})$/i.exec(hex);
return result ? {
r: parseInt(result[1], 16),
g: parseInt(result[2], 16),
b: parseInt(result[3], 16)
} : null;
}
function rgb2hex(red, green, blue) {
var rgb = blue | (green << 8) | (red << 16);
return '#' + (0x1000000 + rgb).toString(16).slice(1)
}
hexPrimaryColor = args[1];
redPrimaryColor = hexToRgb(hexPrimaryColor).r;
greenPrimaryColor = hexToRgb(hexPrimaryColor).g;
bluePrimaryColor = hexToRgb(hexPrimaryColor).b;
redComplimentaryColor = 255 - redPrimaryColor;
greenComplimentaryColor = 255 - greenPrimaryColor;
blueComplimentaryColor = 255 - bluePrimaryColor;
hexCcomplimentaryColor = rgb2hex(redComplimentaryColor, greenComplimentaryColor, blueComplimentaryColor);
//console.log("Primärfarbe:" + hexPrimaryColor +"n");
console.log(hexCcomplimentaryColor);
//throw Error();
尝试将process.exit(0)
添加到程序的末尾
把你的代码放在一个函数中,并在返回某处后调用它
condition()
return; // put your code after return
callFunction();
function callFunction(){
hexPrimaryColor = args[1];
redPrimaryColor = hexToRgb(hexPrimaryColor).r;
greenPrimaryColor = hexToRgb(hexPrimaryColor).g;
bluePrimaryColor = hexToRgb(hexPrimaryColor).b;
redComplimentaryColor = 255 - redPrimaryColor;
greenComplimentaryColor = 255 - greenPrimaryColor;
blueComplimentaryColor = 255 - bluePrimaryColor;
hexCcomplimentaryColor = rgb2hex(redComplimentaryColor,
greenComplimentaryColor, blueComplimentaryColor);
//console.log("Primärfarbe:" + hexPrimaryColor +"n");
console.log(hexCcomplimentaryColor);
//throw Error();
}
感谢您的回答。 事实上,代码完全正常。 我只是用phantomjs执行代码,并没有把phantom.exit()
放到最后。 这就是为什么这个过程没有停止。