javascript重新定义一个变量

时间:2012-05-30 18:16:09

标签: javascript

我被困在某个地方(就像新手一样)。一旦变量被修剪并测试内容,是否可以重新定义变量?

    function setarea() {

        var dbasedata = document.forms[0]._dbase_name.value;
            dbasedata = dbasedata.toUpperCase();
            dbasedata = dbasedata.replace(/\s/g, "");
            dbasedata = dbasedata.remove("UK_CONTACTS", "");

        if (dbasedata != "") {
            _area.value = _dbase_name.value;
        } 

   else var dbasedata = document.forms[0]._dbase_name.value;
            dbasedata = dbasedata.toUpperCase();
            dbasedata = dbasedata.replace(/\s/g, "");

        if (dbasedata.indexOf("UK_CONTACTS")>-1 {
        var dbaseterm = "UK_CONTACTS";
   else var dbaseterm = "";     
            }

3 个答案:

答案 0 :(得分:4)

对同一范围内的同一变量多次使用var没有意义。由于所有var x;都被提升到范围的顶部,因此该变量上的每个额外var都将成为无操作。

虽然分配一个新值很好 - 它们毕竟是变量而不是常量。

function x() {
    var x = 123;
    foo();
    x = 456;
    var y = 'hello';
    var x = 678;
}

实际上是内部的:

function x() {
    var x, y; // both are === undefined
    x = 123;
    foo();
    x = 456;
    y = 'hello';
    x = 678;
}

答案 1 :(得分:1)

是的,你可以这样做,这是合法的。

答案 2 :(得分:0)

它可能“有效”,但不建议使用。你不需要重新声明它。

可能希望通过JSLint运行您的代码。你想要解决一些整洁/支撑问题。