JS数据类型和JAVA数据类型的比较

目录

一、JS的数据类型

(一)运算符typeof

(二)Js中比较

(三)undefined类型

  (四)Number类型

(1)Number类型包括那些值?

(2)相关函数

(五)Boolean类型

  (六)string类型

(七)object类型

二、JAVA中的数据类型

三、JS 和JAVA的比较:


一、JS的数据类型

        

(一)运算符typeof

JS中有一个运算符叫做typeof,这个运算符可以在程序的运行阶段动态的获取变量的数据类型。

语法格式:

       Typeof 变量名

(二)Js中比较

JS当中比较字符串是否相等使用“==”完成,没有equals,这点是和JAVA的区别。(这一点以后我会写博客【JAVA中equals和==的区别】)

Function sum(a,b){

    if(typeof a=="number"&&  typeof b =="number"){
        
        return a+b;
    }else{
    
        alert("请输入数字");
    }

}

(三)undefined类型

Undefined类型只有一个值,这个值就是Undefined,当一个变量没有手动赋值,系统默认Undefined,或者也可以手动给一个变量手动赋值undefined;

Var I;//undefined
Var k = undefined;//undefined
Var y = "undefined";//"undefined"

其中i和k是相同的,但是Y是不相同的。

(四)Number类型

(1)Number类型包括那些值?

-1 0 1 2 3.12 。。。 NaN Infinity

这个和JAVA相比较,JAVA需要用6种类型来表示,而JS只需要一个Number即可,

这个和JAVA相比较,JAVA需要用6中数据类型来表示,而JS只需要一个Number即可。

//关于NaN(表示 Not a Number,不是一个数字,但属于Number类型)

//什么情况下结果是NaN呢?

//运算结果本来应该是一个数字,最后算完不是一个数字的时候,结果是NaN

Infinity表示无穷大(在除数为0的时候,结果为无穷大)。

(2)相关函数

1)isNaN函数

  结果是true表示不是一个数字,结果是false表示是一个数字。

	Function sum(a,b){
		If(isNaN(a)||isNaN(b)){
		
			Alert("请输入数字");
			Return;
		}
		
		Return a+b;
}

2) paraseInt()函数,可以将字符串转换成小数而且取整

Alert(parseInt("3.99999"))//3

 3) paraseFloat()函数

Alert(parseFloat("3.2"+1))//4.2

 4) Math.ceil()向上取整

Alert(math.ceil("2.1"));//3

(五)Boolean类型

1)、JS中的布尔类型永远只有两个值true和false(这一点和JAVA是一样的)。

2)、在boolean类型中有一个函数叫做:Boolean();

语法格式:

Boolean(数据)

Boolean()函数的作用是将非布尔类型转换成布尔类型。

		If(username){
			Alert( username+"欢迎你")
		} else {
			Alert("username不能为空")
		}

(if 后面自动转换成boolean)

Boolean()函数,有就转换成真,没有就转换成false

(六)string类型

1、在JS中字符串可以使用单引号,也可以使用双引号。

Var s ='test';

Var s1 ="test";

2、在JS当中,怎么创建字符串对象呢?

两种方式:

第一种: var s = "abc";

第二种(使用JS内置的支持类string), var s2 = new String("abc");

需要注意的是:string是一个内置类,可以直接用,string的父类是object

3、(重点)无论是大还是小,他们的属性和函数都是通用的。

4、关于string类型的常用属性和函数?

常用属性:

Length 获取字符串长度

常用函数:

Indexof  获取指定字符串在当前字符串中第一次出现处的索引

lastIndexof 获取指定字符串在当前字符串中最后一次出现处的索引

Replace 替换(只替换一次,如果想都替换可以使用正则表达式)

Substr 截取字符串

subString 截取子字符串

tolowerCase 转换小写

toUpperCase 转换大写

split拆分字符串

//考点:经常问substr和substring的区别?

//substr(startIndex,length)

Alert("abcdefxyz",substr(2,4));//cdef

//substring(startIndex,endIndex) 注意:不包含endIndex

Alert("abcdefxyz",substring(2,4));//cd

//小string(属于原始类型string)

Var x ="abc";

Alert(typeof x); //"string"

//大string(属于object类型)

Var y = new string("abc");

Alert(typeof y); //"object"

(七)object类型

1) object类型时所有类型的超类,自定义的任何类型,默认继承Object。

2)Object类包括哪些属性?

prototype属性(常用),作用是给类动态的扩展属性和函数。

constructor属性

3)Java中Object常用方法有哪些?

Tostring,equals,hashcode

4)Object类包括哪些函数?

Tostring();

Valueof();

toLocaleString()

5)在JS当中定义的类默认继承Object,会继承Object类中所有的属性以及函数,

换句话说,自己定义的类中也有Prototype属性。

6)在JS当中怎么定义类?怎么New对象?

第一种方式:

Function 类名(形参){

}

第二种方式:

类名=function(形参){

}

New 对象?

//Var 对象名 =new 类名();

New 构造方法名(实参);//构造方法名和类名一致

深入理解Object

//JS 中的类的定义,同时又是一个构造函数的定义

//在jS中类的定义和构造函数的定义是放在一起完成的。

Function User(a,b,c){

//a,b,c 属于局部变量

//声明属性(this表示当前对象)

//User类中三个属性:sno/sname/sage

This.sno=a;

This.sname=b;

This.sage=c;

}

//创建对象

Var u1 = new User(111,"张三",23)

//访问对象的属性

Alert(u1.sno);

Alert(u1.sname);

Alert(u1.sage);

//给String 扩展一个函数

String.prototype.suiyi=function(){

Alert("这是给String类型扩展的一个函数,叫做suiyi");

}

Abc.suiyi();

二、JAVA中的数据类型

基本数据类型:

基本数据类型共有八种,其中六种数据类型与两个非数值类型。基本数据信息如下:

那么Java中string数据什么数据类型?

string是属于引用数据类型,因为string是一个类。

三、JS 和JAVA的比较:

这俩面JS一共有三个构造方法。这一切都是因为JAVA是强类型,JS是弱类型语言导致的。

(一)Null  NaN undefined的区别?

Null //boject

NaN //number

Undefined//undefined

(1)数据类型不一样

(2)null和undefined可以等同

Alert(null == NaN); //false

Alert(null == undefined); //true

Alert(undefined == NaN); //false

//在JS当中有两个比较特殊的运算符

// == (等同运算符)

// ===(全等运算符,既判断值是否相等,又判断数据类型是否相等)

总之,JAVA和JS的数据类型,因为JAVA是强类型语言,所以分的会更细一点,JS是弱类型语言,也就更灵活。

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

猜你喜欢

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