是放置「;var";Javascript中每个定义变量前面的关键字是一个好的做法吗?
我总是把var关键字放在每个变量之前。我想知道它是否正确。代码是有效的,但这是好的实践吗是放置「;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
$(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
将创建全局变量。