Javascript 复制功能的实现
当我在typescript中使用上述示例时,它显示了两个错误,一个是由于let关键字而在第二个console.log中出现的I,另一个是在第一行中测试的。错误表示复制函数实现。有人能对这件事有什么想法吗Javascript 复制功能的实现,javascript,typescript,Javascript,Typescript,当我在typescript中使用上述示例时,它显示了两个错误,一个是由于let关键字而在第二个console.log中出现的I,另一个是在第一行中测试的。错误表示复制函数实现。有人能对这件事有什么想法吗 function test(){ for(let i=0; i<5; i++){ console.log(i); } console.log("finally:" + i); } test(); 功能测试(){ 对于
function test(){
for(let i=0; i<5; i++){
console.log(i);
}
console.log("finally:" + i);
}
test();
功能测试(){
对于(设i=0;i),代码的唯一问题是:
console.log("finally:" + i);
就这些
我们如何解决它
function test(){
let i = 0;
for(; i<5; i++){
console.log(i);
}
console.log("finally:" + i);
}
test();
功能测试(){
设i=0;
对于(;我是如何使用它的?它从哪里来的?这就是所有的代码吗?是的,这就是我使用的所有代码。在typescript文件中编写并在Nodey中编写您的I
是因为当您最后执行时I
超出了范围。让进入块级范围。复制函数实现。
没有有任何意义,除非您在其他地方再次定义了test
。您应该在for循环之外声明变量i,因为您访问它时超出了它的范围。下面是一个使用TypeScript的工作代码-https://tinyurl.com/yb5fdrgcNo需要在for中初始化i,只需执行for声明(i;iYes,你是对的。我跳过了它。我的重点是在函数块中声明i
。@PrabinPaudel JS是否要求第一个子句非空?为什么不for(;i<5;i++)
?@11684如果已经定义了第一个子句,我们可以跳过它。for(;i<5;i++)
这将非常好地工作。是的,这是可能的。我认为将它放在那里会使代码更可读!