JavaScript 重新定义一个变量

javascript re-define a variable

本文关键字:一个 变量 定义 新定义 JavaScript      更新时间:2023-09-26

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

    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 = "";     
            }

在同一作用域中对同一变量多次使用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;
}

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

它可能"有效",但不建议使用。 您无需重新声明它。

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