[英]How to get user input in JavaScript without prompt
我正在尋找一種無需使用 prompt(); 即可在 JS 中獲取用戶輸入的方法; 命令。 我很清楚之前有人問過這個問題,但我能找到的所有其他問題都包括使用 html,而我正在尋找一種方法來使用純 JavaScript,在程序中,而不是作為網頁的一部分. 提前致謝。
JavaScript沒有本機獲取輸入的方法。 存在的每種方法都是主機環境提供的擴展( prompt
是其中的一個示例)
不同的主機環境具有不同的方法。 您已經為瀏覽器確定了一個,而DOM是另一個。 NodeJS具有Readline API(以及其他)。 還有許多其他環境(WSH,JXA等)。
JS除了瀏覽器提供的功能外,沒有其他“功能”。 除非要使用Java,否則它應在瀏覽器上使用,但這是另一回事。 因此,提示可能是使用JS的最佳方法,除非您要使用確認,這將為您提供布爾表達式的等效功能。
var answer = confirm("Yes or no?")
這將給您一個正確或錯誤的答案。
如果您正在練習/出現任何競爭性編碼,下面是在 javascript 中獲取用戶輸入的代碼。
Input: 4 1 2 3 4 Output: { n:4, arr:[1,2,3,4] }
function runProgram(input){
let line=input.split('\n')
let n= Number(line[0]);
let arr = line[1].split(' ').map(x => +x);
yourFunc(n,arr);
}
function yourFunc(n,arr){
console.log({n,arr})
}
if(process.env.USER === ""){
runProgram('')
}
else{
process.stdin.resume();
process.stdin.setEncoding('ascii');
let read="";
process.stdin.on('data',function(inp){
read+=inp
})
process.stdin.on('end',function(inp){
read=read.replace(/\n$/,"");
read=read.replace(/\n$/,"");
runProgram(read);
});
process.on("SIGINT",function(){
read=read.replace(/\n$/,"");
runProgram(read);
process.exit(0);
})
}
我不知道在提示符下將其刪除的特定命令,但也許您可以使用alert();。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.