Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是放置「;var";Javascript中每个定义变量前面的关键字是一个好的做法吗?_Javascript_Variables_Syntax - Fatal编程技术网

是放置「;var";Javascript中每个定义变量前面的关键字是一个好的做法吗?

是放置「;var";Javascript中每个定义变量前面的关键字是一个好的做法吗?,javascript,variables,syntax,Javascript,Variables,Syntax,我总是把var关键字放在每个变量之前。我想知道它是否正确。代码是有效的,但这是好的实践吗 $(document).ready(function() { var something = 34; var v = $(body).find('p.lol'); $.ajax({ success: function(a) { var k = a.sdf; something = k+0.7; ...e

我总是把var关键字放在每个变量之前。我想知道它是否正确。代码是有效的,但这是好的实践吗

$(document).ready(function() {
    var something = 34;
    var v = $(body).find('p.lol');
    $.ajax({
        success: function(a) {
           var k = a.sdf;
           something = k+0.7;
           ...etc...

使用
var
定义局部变量。如果省略,该变量将是全局变量,或者您可能会意外地覆盖另一个变量的值


下面是一个。

使用
var
定义局部变量。如果省略,该变量将是全局变量,或者您可能会意外地覆盖另一个变量的值


这里有一个。

这是一个很好的实践,因为您清楚地定义了范围。如果不使用var关键字,则实际上是在创建一个全局变量。想象一下,在该实例中,在文件顶部自动声明的变量

这将创建局部变量:

var someVarA = 23;
var someVarB = 25;
这将自动创建全局变量(如果未在别处声明):

但是,这与在每个变量前面放置一个var相同(请注意逗号):


这是一个很好的实践,因为您清楚地定义了范围。如果不使用var关键字,则实际上是在创建一个全局变量。想象一下,在该实例中,在文件顶部自动声明的变量

这将创建局部变量:

var someVarA = 23;
var someVarB = 25;
这将自动创建全局变量(如果未在别处声明):

但是,这与在每个变量前面放置一个var相同(请注意逗号):


总是声明变量(以避免意外地污染全局对象)是一个很好的实践,但是JavaScript有一个称为


基本上,这意味着变量总是限定在函数的范围内(即不像其他语言一样不在循环或其他语句块内),因此最好在每个函数开始时进行所有声明。

最好总是声明变量(以避免意外污染全局对象),但是JavaScript有一个叫做

function test(){
 var message = “hi”; //local variable
 variable = "bye";
}
 test();
 alert(message); //undefined
 alert(variable);//bye

基本上,这意味着变量总是限定在函数的范围内(即不像其他语言那样位于循环或其他语句块内),因此最好在每个函数开始时进行所有声明。

实际上,这与编码实践无关。如果在函数中使用
function test(){
 var message = “hi”; //local variable
 variable = "bye";
}
 test();
 alert(message); //undefined
 alert(variable);//bye
var关键字。它是本地定义的,否则,变量将被全局定义,您可以在函数外部访问该变量

function test(){
 var message = “hi”; //local variable
 variable = "bye";
}
 test();
 alert(message); //undefined
 alert(variable);//bye

实际上,这与编码实践无关。如果在函数中使用 var关键字。它是本地定义的,否则,变量将被全局定义,您可以在函数外部访问该变量

function test(){
 var message = “hi”; //local variable
 variable = "bye";
}
 test();
 alert(message); //undefined
 alert(variable);//bye

对。如果在严格模式下使用,将抛出错误。试试看:

(function(){
    "use strict";
    try{
        myNum = 0;
    }
    catch(e) {
        alert("Error: " + e);
    }
})();
此代码将返回如下内容:

错误:ReferenceError:分配给未声明的变量myNum

更多信息:


是的。如果在严格模式下使用,将抛出错误。试试看:

(function(){
    "use strict";
    try{
        myNum = 0;
    }
    catch(e) {
        alert("Error: " + e);
    }
})();
此代码将返回如下内容:

错误:ReferenceError:分配给未声明的变量myNum

更多信息:


javascript就是这样工作的:您可以使用var关键字定义局部变量。javascript作用域的解释非常好:@tpeczek:这是向后的。不使用
var
将创建全局变量。javascript就是这样工作的:使用var关键字定义局部变量。javascript作用域的解释非常好:@tpeczek:这是向后的。不使用
var
将创建全局变量。