Javascript 这是一个全局变量吗?

Javascript 这是一个全局变量吗?,javascript,variables,global,Javascript,Variables,Global,以下变量是全局变量吗 var a = 10, b = 20; c = 30; 任何没有“var”的变量都是全局变量。那么变量“b”也是一个全局变量吗?否;var语句可以在逗号分隔的列表中声明多个变量 请注意,该声明 var a = 1, b = c = 3; 将创建c作为全局变量(因为它没有被声明)。否;var语句可以在逗号分隔的列表中声明多个变量 请注意,该声明 var a = 1, b = c = 3; 将创建c作为全局变量(因为它没有被声明)。c肯定是全局变量;您可以使用consol

以下变量是全局变量吗

var a = 10, b = 20;
c = 30;

任何没有“var”的变量都是全局变量。那么变量“b”也是一个全局变量吗?

否;
var
语句可以在逗号分隔的列表中声明多个变量

请注意,该声明

var a = 1, b = c = 3;

将创建
c
作为全局变量(因为它没有被声明)。

否;
var
语句可以在逗号分隔的列表中声明多个变量

请注意,该声明

var a = 1, b = c = 3;

将创建
c
作为全局变量(因为它没有被声明)。

c肯定是全局变量;您可以使用
console.log(window.c==30)

只有当
var
声明不在函数内时,其他两个才是全局的


请记住,在严格模式下,未声明的变量赋值将导致引用错误。

c绝对是全局的;您可以使用
console.log(window.c==30)

只有当
var
声明不在函数内时,其他两个才是全局的


请记住,在严格模式下,对未声明的变量的赋值将导致引用错误。

假设第一条语句不在全局范围内,则为否-无论是
a
还是
b
都不是全局变量,因为您在第一条语句中定义了变量列表。但是,如果您执行了以下操作:

c = 30, d = 90;

您可以将
c
d
都定义为全局变量,而不考虑定义它们的范围。

假设第一条语句不在全局范围内,则否-无论
a
还是
b
都不是全局变量,因为您在第一条语句中定义了变量列表。但是,如果您执行了以下操作:

c = 30, d = 90;
您可以将
c
d
都定义为全局变量,而不考虑定义它们的范围。

“任何不带'var'的变量都是全局变量”不一定是真的
var
只是在当前范围内声明一个变量。默认范围(假设您在浏览器中运行此JS,而不是node.JS)是
窗口
对象

基本上,是的,这三个变量都是全局变量

进一步阅读关于范围和
var
关键字的内容:

以上假设您不是在严格模式下运行//code>“使用严格模式”;-如果您处于严格模式,
c
将抛出引用错误,因为您没有将其声明为变量。

“任何不带'var'的变量都是全局变量”不一定为真
var
只是在当前范围内声明一个变量。默认范围(假设您在浏览器中运行此JS,而不是node.JS)是
窗口
对象

基本上,是的,这三个变量都是全局变量

进一步阅读关于范围和
var
关键字的内容:

以上假设您不是在严格模式下运行//code>“使用严格模式”;-如果您处于严格模式,
c
将抛出一个引用错误,因为您没有将其声明为变量。

“b”不被视为全局变量,您可以声明多个变量,只要变量被逗号除。“c”是该语句中唯一的全局变量。不能在用逗号分隔的同一行中同时声明全局变量和局部变量

a = 10, b = 5;  
全球宣言

var a = 10, b = 5;
地方申报

var a = 10, b = 5;
此外,您可以这样声明它们:

var a = 10, b = 5;
在所有其他函数之外,它将是全局变量。

“b”不被视为全局变量,您可以声明多个变量,只要用逗号除以。“c”是该语句中唯一的全局变量。不能在用逗号分隔的同一行中同时声明全局变量和局部变量

a = 10, b = 5;  
全球宣言

var a = 10, b = 5;
地方申报

var a = 10, b = 5;
此外,您可以这样声明它们:

var a = 10, b = 5;
在所有其他函数之外,它将是全局的。

var a=10,b=20; c=30

是的,非航向变量c在这里是全局变量。如果在任何作用域中定义一个没有“var”关键字的变量,则该变量在成为全局作用域的一部分时将被视为全局变量

对于var a和b:

如果它在函数中声明,则它们将被视为局部变量(因为它们将是局部范围/函数范围的一部分)。 如果它们被声明而不是任何函数的一部分,那么它们将被视为全局变量(因为它们被添加到全局范围中)。

var a=10,b=20; c=30

是的,非航向变量c在这里是全局变量。如果在任何作用域中定义一个没有“var”关键字的变量,则该变量在成为全局作用域的一部分时将被视为全局变量

对于var a和b:

如果它在函数中声明,则它们将被视为局部变量(因为它们将是局部范围/函数范围的一部分)。
如果它们被声明而不是任何函数的一部分,那么它们将被视为全局变量(因为它们被添加到全局范围中)。

在下面的代码中,变量“c”是全局变量还是局部变量?函数a(){c=30;}虽然没有var关键字,但它应该是全局的。但它不能从外部访问function@NikhilPai:在注释中的代码中,
c
是全局的,因为没有
var
,除非该函数位于另一个声明了
var c
的函数中。如果您不能在外部访问它,那么还有其他一些问题。在这种情况下将定义c,您只需要首先运行该函数。当函数执行时,它将在函数的作用域中查找变量c。没有,因此它将在更高级别的作用域中查找,即本例中的全局上下文。@NikhilPai:您没有调用
a()
,因此代码永远不会运行,因此也永远不会创建
a
。在