js学习第一天

undefined类型:表示一个变量仅声明过,但从未赋值。所有未赋值的变量,默认值都是undefined。

undefined类型的值还是undefined!

原始类型大小:

number:整数4字节,浮点数8字节

string:每个字符2字节


数据类型间的转换:

隐式类型转换:程序自动转换数据类型(坑)

弱类型:1.变量声明时不必限定数据类型,今后可能保存任何类型数据

2.数据类型间可以自动类型转换 

仅考虑+:只要有字符串参与,一切类型都加“”变为字符串

如果没有字符串,都转为数字计算,其中;true-->1   false-->0

3.String:x.toString()-->将x转为字符串类型

    Number:Number(x)-->将任意类型转为Number类型

    string-->number:

转为整数:var num = parseInt("str")读取字符串中的整数部分(1).从第一个字符向后读。

(2).如果碰到第一个数字字符,开始获取数字,当再次碰到不是数字的字符(包括.),停止读取

(3 ).如果碰到空格,忽略(4)如果碰到的第一个非空格字符,不是数字,说明不能转---》NaN:Not a Number

console.log(parseInt("   12px"));//12

console.log(parseInt("   true"));//NaN

console.log(parseInt("   12.5"));//12

console.log(parseInt("   "));//NaN

         parseFloat:读取浮点数部分: var num = parseFloat("str");用法和parseInt相同

区别:parseFloat认识小数点,且只认识第一个小数点

console.log(parseFloat("22.5"));//22.5

console.log(parseFloat("22.5.5"));//22.5

console.log(parseFloat(".5"));//0.5

console.log(parseFloat("22.0"));//22


补充知识:prompt("提示信息"):专门用于请求用户输入数据,收集数据的对话框!var str = prompt("");

*凡是从页面上获得的数据,都是字符串!必须先转换再计算*

算数运算:任意类型数据做减法,都会被转为数字类型,如果有参数不能转为数字,则返回NaN

typeof(x):判断任意数据的类型

console.log(5/0);//Infinity

console.log(typeof(5/0));//number;

console.log(0/0);//NaN


关系运算中:任何类型和数字比较,都转为数字,

console.log("10" == 10);//true

console.log("2" > true);//true

console.log(2 > true);//true


undefined做==比较:undefined类型,从null类型继承来的,undefined值被自动转换为null,所以undefined == null ==>true

===严格相等:不带自动类型转换的相等比较!

console.log(undefined==null);//true

console.log(typeof(undefined));//undefined

console.log(typeof(null));//object

console.log(undefined === null);//false


NaN做==比较:NaN和任何数字做比较,永远返回false      NaN==NaN ==>false

isNaN(x):专门用来判断一个数据是否是NaN,如果是NaN返回true;如果不是NaN返回false;

只要不能自动转换为数字的,都返回true;只要能自动转换为数字的,都返回false

console.log(isNaN(""));//false  在关系运算中空字符串自动转为0

console.log(isNaN(22.5));//false;

console.log(isNaN("10"));//false;在关系运算中“10”字符串自动转为数字

console.log(isNaN("12px"));//true

console.log(isNaN(true));//false

console.log(isNaN("true"));//true

console.log(isNaN(NaN));//true


总结:1.普通数据,先转换为相同类型,再比较

     2.undefined.就用===

     3.NaN,就用isNaN(x)




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值