JS变量和Java变量的比较

目录

 

一、JS变量

(一)JS变量的分类

(1)全局变量:

(2)局部变量:

(3)全局变量和局部变量的区别:

(4)注意:

二、JAVA变量

(一)Java变量的分类

三、JS中的变量和JAVA中的变量的区别

(一)Java是一种强类型语言,JS属于弱类型语言。

(1)Java是一种强类型语言,强类型怎么理解?

(2)JS怎么声明变量?


一、JS变量

(一)JS变量的分类

(1)全局变量:

在函数体之外声明的变量属于全局变量

(2)局部变量:

在函数体之内声明变量,包括一个函数的形参都属于局部变量。

(3)全局变量和局部变量的区别:

两个生命周期不一样,全局变量的生命周期是:浏览器打开时声明,浏览器关闭时销毁,尽量少用。因为全局变量会一直在浏览器的内存当中,耗费内存空间,能使用局部变量尽量使用局部变量。局部变量:函数开始执行时局部变量的内存空间开辟,函数执行结束之后,局部变量内存空间释放,局部变量生命周期较短。

(4)注意:

当一个变量声明的时候没有使用var关键字,那么不管这个变量是在哪里声明的,都是全局变量。

二、JAVA变量

(一)Java变量的分类

(1)实例变量是属于对象,类变量是属于类。

也就是说实例变量是一个类创建完对象之后才能用的,也就是在Student s = new Student(); 这个语句之后才能使用。比方说:学生类中有个sname属性,如果想要使用sname都必须在Student s = new Student()语句之后才能使用; s.sname;因此说实例变量是属于对象的。

(2).类变量是属于类这个说法是因为类变量是static来修饰,static修饰的变量有个特点就是可以在实例对象创建之前能使用。

(3)如果按照声明位置划分的变量类型中,局部变量声明后必须要赋值才能使用,而成员变量声明后可以不赋值,系统有默认值。如果按所属的数据类型划分,基本类型数据只占用内存中的一块内存;而引用占用的是两块内存,根据引用变量就可以在堆内存中找到它所指向的对象。

三、JS中的变量和JAVA中的变量的区别

(一)Java是一种强类型语言,JS属于弱类型语言。

(1)Java是一种强类型语言,强类型怎么理解?

java语言存在编译阶段,假设有代码; int I ;

那么在Java中有一个特点是:Java程序编译阶段就已经确定了i变量的数据类型,

该i变量的数据类型在编译阶段是int类型,那么这个变量到最终内存释放,一直都是Int类型,

不可能变成其他类型。

Int i =10;

Double d = I;

这行代码是声明一个新的变量d,double类型,把i变量中保存的值传给d

i还是int类型

i="abc";这行代码编译的时候会报错,因为i变量的数据类型是Int类型,不能将字符串赋值给I

Java中要求变量声明的时候是什么类型,以后永远都是这货在那个类型,不可变。

Byte short int long float double boolean char

1        2       4   8       4       8         1          2(字节)

(2)JS怎么声明变量?

Var 变量名;

怎么给变量赋值?

变量名=值;

JS是一种弱类型语言,没有编译阶段,一个变量可以随意赋值,赋什么类型的值都行。

Var I =100;

I = false;

I ="abc"

I = new Object();

I = 3.14;

a,b都是undifiend c为200

总之,给我最大的感受是,在JAVA中变量的类型是由等号左边的数据类型决定的,而JS中的变量是由等号右边赋的值决定的,相比之下JS更加的灵活。这是我个人的理解,如果有不对的地方,还请各位大佬指出,谢谢。

发布了168 篇原创文章 · 获赞 28 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/MyxZxd/article/details/105338367