任何人都可以解释为什么以下代码在作为函数的一部分运行时有效,但是当它在Chrome控制台窗口中自行运行时会产生奇怪的结果?
var foo = function() {
var x = 1;
while (x<3) {
console.log(x);
x = x+1;
}
}
foo(); // This prints 1,2 as expected
Run Code Online (Sandbox Code Playgroud)
但是,当我while直接在Chrome控制台中运行时,我得到1,2,3这没有任何意义(参见图片输出):
var y = 1;
while (y<3) {
console.log(y);
y = y+1;
}
// This prints 1,2,3 in the console
Run Code Online (Sandbox Code Playgroud)

请注意,有一些类似问题的console.log结果undefined(Chrome/Firefox console.log总是附加一行说未定义),但我的示例中没有函数调用,while也没有返回任何值.
我有一个启动exe进程的powershell脚本.我有一个任务计划在计算机空闲时运行这个powershell脚本,我设置它在它没有空闲时停止它.
问题是任务计划没有杀死启动的exe进程,我假设它只是试图杀死PowerShell进程.
当从任务调度程序启动时,我似乎无法找到一种方法将启动的exe作为powershell.exe的子进程
我已经尝试使用invoke-expression,start-proces启动进程,我也试图通过管道输出out-null,wait-process等等.当从任务调度程序启动ps1时,似乎没有任何工作.
有没有办法实现这个目标?
谢谢