0

我有很多这样的函数,不知道要不要把j和ka做成局部变量还是会出现异常问题?

var j=10,k=20;
var i=j+k*2;
console.log('helloworld'+i);
function plus(j,k){
 var i=j+k;
 console.log('plus '+i);
 //...etc
}

function formular(j,k){
 var i=j*k+123;
 console.log('formular '+i);
 //...etc
}
plus(-10,-20);
setInerval(function(){formular(22,33)},1000);
setInerval(function(){plus(-102,-33)},1000);

或者我应该像这样写

function(var j, var k){ }

??

4

2 回答 2

0

这是非常糟糕的做法。在 javascript 中应谨慎使用全局变量。使用与全局变量相同的名称来命名函数参数会更糟糕,并且会很快变得混乱。

不,你不应该写函数(var r,var k)

尽可能尝试使用局部变量,永远不要将它们命名为与命名全局变量相同的方式来混淆自己。

于 2012-12-26T06:59:08.730 回答
0
var j=10,k=20;
var i=j+k*2;
console.log('helloworld'+i);

在这里,ij都是k全局的(假设您的代码在全局下);

function plus(j,k){
 var i=j+k;
 console.log('plus '+i);
 //...etc
}

这里, j, kand alsoi是局部的,因为jandk是在函数参数列表中定义的,并且是在函数i内部定义的。

以上两者不会冲突;试试这个:小提琴演示。按任意顺序按下这两个按钮。

不过,我并不是说您的代码是一个好习惯。请记住,应谨慎使用全局变量

于 2012-12-26T08:40:45.187 回答