JavaScript中的变量作用域 现在这两者有什么区别 这两个有什么区别吗 不同的产出

JavaScript中的变量作用域 现在这两者有什么区别 这两个有什么区别吗 不同的产出,javascript,Javascript,1) 区别在于变量的定义在不同的位置 2) 不,它们有相同的输出:不输出任何内容,并给出错误 ==更新您的评论(为什么这是无效代码?)=== 因为您不能在对象文本中返回 即 完全不正确。对象不会返回。这是函数所做的事情。你缺少结尾。你的脚本有很多废话 在第一种情况下,声明对象的变量“variable”成员 { return "something" } 您使用在global中注册的变量“variable”: var obj = { Variable: 1, } 不

1) 区别在于
变量的定义在不同的位置

2) 不,它们有相同的输出:不输出任何内容,并给出错误

==更新您的评论(为什么这是无效代码?)===

因为您不能在对象文本中
返回


完全不正确。

对象不会返回。这是函数所做的事情。你缺少结尾。

你的脚本有很多废话

在第一种情况下,声明对象的变量“variable”成员

{ return "something" }
您使用在global中注册的变量“variable”:

 var obj = {

        Variable: 1,

    }
不能在对象中使用return

var obj = { 
    Name: function() {
      Variable  += 1;
    }
}

不知道你想要什么

var obj = {

   return Variable
}

您还可以尝试将整个对象包装到函数中。然后,每次调用包装函数时,使用该函数返回一个新实例。

这是无效代码?这两个都不是有效的javascript…@Dominic Barnes:为什么这是无效代码?在您的第二个示例中,每次都将其设置为
1
,并添加
1
,即始终返回
2
(如果您正确放置
return
)。
var obj = {

   return Variable
}
function wrapperFunction()
{
    var Obj = {
        variable: 1,
        ....
    };
    return Obj ;
}