javascript 数据类型以及类型转换

JS的数据类型

      JavaScript的数据类型:2类

1. 原始数据类型:

String     -    字符串

 Number   -    数字

Boolean    -   布尔  true  false

undefined  -   所有仅声明,未赋值的变量的默认值! -  空(修饰原始数据类型的空)

null       -    空  (修饰对象的空)

*symbol

  1. 引用类型对象:array(数组)  function(函数)  Math  Date

                    var   a;        // 定义变量 a

colonsole.g(a);   // 显示undefined,因为a未赋值

                ----------------------------------------------------------------------------------------------

 var str="hello";      //定义变量并赋值   String类型

var n=5;            //定义变量并赋值   num类型

var boo1='true';     //定义变量并赋值    String类型

var boo2=false;      //定义变量并赋值    boolean类型

console.log(str);      //输出 hello

console.log(n);       //输出 5

console.log(boo1);    //输出 true

console.log(boo2);    //输出 false

 

  • 、数据类型的转换

数据类型转换 - 隐式转换:不需要程序员干预,js可以自动的完成类型转换

仅讨论算数计算时的隐式转换

1. 算数计算中,一切数据都默认转换为数字后,再做计算

boolean: true ->  1      false -> 0

null -> 0

undefined ->  NaN -> not a number (不是一个数字)

一些数据不能转换为数字的话,则会转换为NaN

**NaN不等于,不大于,不小于任何值包括他自己

只要NaN参与的运算结果永远是NaN

NaN虽然表示不是一个数字,但是他本身属于number数据类型

2. 在+运算中,只要碰到字符串,+就不再是+法运算符号了,而变成了字符串拼接符号了,导致另一个不是字符串类型的数据,会变成字符串类型数据

var s1="3",s2="2",  // 字符串

n1=3,n2=2,     // 数字

b1=true,b2=false;// 布尔

var un;  // undefined不能隐式的转化为数字,只能转换为  NaN

var n=null;

console.log(s1-n2);   //  "3"-2      //   3 -2 = 1  // 输出  1

console.log(b1+n1);  //  true+3     //   1 +3 =4  // 输出  4

console.log(n1-n) ;   //  3 -null     //   3- 0 =3   // 输出  3

console.log(n1-un);  //  3 - undefined//  3 - NaN  // 输出  NAN

console.log(s1+n2);  //  "3"+2      //   "3"+"2" = "32" //输出32 字符串叠加

console.log(s2+b2);  //  "2"+false   //   "2"+"false" //字符串叠加

console.log(n1-s2+s1+n);//   3 -"2"+"3"+null  //  3-2+"3"+null

   //   1+"3"+null   //  "13"+ "null" = "13null" //相减后在字符串叠加

console.log(n1-un+s2);//    3 -undefined+"2"//   3-NaN+"2"

//   NaN+"2"//   "NaN"+"2" = "NaN2" //前面NAN计算后在字符串叠加

  •  、数据类型的转换--强制转

      JS强制转换:程序员主动的调用专门的函数(API)执行数据转换

何时使用:自动转换的结果不是我们想要的结果的时候

任意-> string   2个API

x.toString()   x不能是undefined或者是null

String(x)    -> 相当于隐式转换 -> 万能转换方式  

typeof(x)  ->  返回的结果数据类型

String -》 Number:2个API

parseInt(str/num):从第一个字符开始,依次读取每个数字,只要碰到           

第一个非数字字符就停止,自动跳过开头的所有空字符

parseFloat(str/num):解析规则同parseInt,只不过认识第一个小数点

var n=null;        // 赋值n为null

var un;          // 定义un 但是未赋值

console.log(n+""); // "null" 字符串NULL

console.log(un+"");// "undefined" 因为UN未被赋值

console.log(n);   // 输出 null

console.log(String(n)); // 输出null

console.log(un);    //输出undefined

console.log(typeof(String(un))); //输出string typeof 输出类型

var width=" 90px";

console.log(parseInt(width));  // 90  取整

var n1=90.8;

console.log(parseInt(n1));// 90  取整

var height=" 89.98.97px";

var n2=90.8;

console.log(parseFloat(height)); // 89.98  认识第一个小数点并输出

console.log(parseFloat(n2));

作业一;

 

作业二;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值