javascript基础【三】

一、JS中的数据中的 数据类型

1、JS中的数据类型有:原始类型、引用类型

原始类型:Undefined、Number、String、Boolean、Null

引用类型:Object以及Object的子类

2、ES6之后,又基于以上六种类型之外添加了一种新的类型:Symbol

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

Typeof 变量名;

 

 

 

扫描二维码关注公众号,回复: 13022460 查看本文章

二、undefined类型

undefined类型只有一个值,这个值就是undefioned

当一个变量没有手动赋值,系统默认赋值undefined

或者也可以给一个变量赋值undefined

var i ;  //undefined

var k= undefined;  //undefined

Alert( i==k);    //true

Var y="undefined" ;  //"undefined"

Alert(y==k) ;  //false

 

三、Number类型

Number类型包括哪些值?

整数,小数,正数,负数,不是数字,无穷大,都属于Number类型。

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

什么情况下结果是一个NaN呢?

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

 

Var a=100;

Var b=" 中国人";

Alert(a/b);   //除号显然最后应该是一个数字,但是运算的过程中导致最后不是一个数字,呢么最后的结果是NaN

 

 

四、Infinity (当除数为0的时候,结果为无穷大 )

parseInt( ); 可以将字符串自动转换成数字,并且取整数位。

Alert(parseInt("3.9999"));     // 3

Alert(parseInt(3.99999));      // 3

 

parseFloat(); 可以将字符串自动传换成数字

 alert(parseFloat("3.14") +1) ;     // 4.14

alert(parseFloat("3.2") +1) ;       // 4.2

五、Boolean类型

Js中的Boolean类型永远都是两个值,

在Boolean类型中有一个函数叫做:Boolean()。

语法格式:

Boolean(数据)

Boolean()函数的作用是将布尔类型转换成布尔类型。  有就转换为true, 灭有就是false    。

Var username="jack";

If(username){

alert("欢迎你" +username);

}else{

Alert("用户名不能为空!");

}

 

六、String类型

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

Var s1='asdf';

Var s2="ewr";

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

第一种:

Var s=“asdf”;

第二种

使用JS内置的支持类String :  var s2=new String (“sdf”);

   需要注意的是:String是一个内置的类,可以直接用,String的父类是Object。

3、无论小string还是String。他们的属性和函数都是通用的。

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

常用函数:

Length            获取字符串长度

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

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

Replace            替换

Substr               截取子字符串

Substring          截取子字符串

toLowerCase    转换小写

toUpperCase    转换大写

Split                  拆分字符串

 

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

//substr(startIndes,length)

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

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

 

七、Object类型

1、object类型是所有类型的超类,自定义的任何类型,默认继承object。

2、Object包括的属性

protetype属性(常用的)

constructor属性

3、object类包含哪些函数

toString()

valueOf()

toLocaleString()

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

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

5、在JS中怎么定义类?怎么new对象?

定义类的语法:

第一种: function 类型(形参){

}

第二种: 类名 = function(形参){

}

创建对象的语法:

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

 

 

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

在JS中类的定义和构造函数的定义是放在一起来完成的

Function User(a,b,c){

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

//User类中有三个属性 son/sname/sage

this.son=a;

this.sname=b;

this.sage=c;

}
//创建对象

Var u1=new User(111,"tzk",20);

//访问对象的属性

Alert(u1.son);

Alert(u1.sname);

Alert(u1.sage);



Var u2=new User(222,"asd",10);

//访问对象的属性

Alert(u2.son);

Alert(u2.sname);

Alert(u2.sage);

//访问一个对象的属性,还可以使用这种语法

Alert(u2["son"]);

Alert(u2.sname);

Alert(u2.sage);

 

实例:

Product=function(pon,pname,price){

//属性

This.pon=pon;

This.panme=pname;

This.price=price;

//函数

This.getPrice=finction(){

Return this.price;

}

}

Var pro=new Product(111,"西瓜",4.0);

Var pri=pro.getPrice();

Alert(pri);  //4.0

//可以通过prototype这个属性来给类动态扩展属性以及函数

Product.prototype.getPname=function(){

Return this.pname;

}

String . Prototype.suiyi=function(){

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

}

"abc".suiyi();

九、null,NaN, undefined这三个值 有什么区别?

这三个的数据类型不一样。

Alert(typeof null);     //"object"

Alert(typeof NaN);  // "number"

Alert(typeof undefined ) ;  // "undefined"



//null 和undefined可以等同

Alert(null == NaN);  //false

Alert(null == undefined );  //true

Alert(undefined == NaN);  //false

 

JS中的特殊运算符

      ==(等同,只判断值是否相等) 

     ===(全等。既判断值是否相等,有判断数据类型是否相等)

 

猜你喜欢

转载自blog.csdn.net/weixin_43472073/article/details/113759177