js基础类型

7种类型

  1. 6种基本类型
  • null
  • undefined
  • string
  • number
  • boolean
  • symbol
  1. 1种对象
  • object

数组和对象是引用类型

类型判断

  1. typrof 对于基本类型(除了null) 都显示基本类型
    null : object,是个bug;
    {} : object
    [] : object
    console.log : function
  2. 获取一个变量都正确类型
    Object.prototype.toString.call(xx)
  3. boolean的false:null undefined 0 -0 “” NaN false

特殊要强调的

1). NaN 属于number类型 NaN!=NaN
2). 对于基本类型来说,如果使用字面量方式定义,那也这个变量也只是个字面量。只有在做类型转换的时候才会转换成基本类型

类型转换

let a = 1234  // a只是字面量
typeof(a)  // a使用的时候转换为number类型
a.toString()  // a使用的时候转为对象类型
  • parseInt
parseInt('123') //123
parseInt('+123') //123
parseInt('-123') //123
parseInt('12.11') //12
parseInt('abc') //NaN
parseInt([1,2,3]) //1
parseInt("") //NaN
parseInt("AA" 16) //16的一次方*10+16的0次方*10 = 170
parseInt("10", 2) //2
parseInt("10", 8) //8
parseInt('10' ,10) //10
//含有前导的
parseInt('0xAA') //170
parseInt('010') //10 2进制不写基数默认成10进制
parseInt('010', 2) //2
parseInt('010', 8) //8
parseInt('010',10) //10
parseInt(null) //NaN
  • parseFloat
parseFloat() //大致同parseInt,只是不舍弃小数点后的数字;
parseFloat('12.11元') //12.11
parseFloat('12.11.23') //12.11
parseFloat('aa') //NaN
parseFloat('0xAA') //0
parseFloat('0110') //110
parseFloat([1]) //1
parseFloat([2,3]) //2
parseFloat([]) //NaN
parseFloat(null) //NaN
  1. String 传入的所有东西都转化为字符串
String([123,123,123],233) //123,123,123,233

String 和 toString()
1、.toString()可以将所有的的数据都转换为字符串,但是要排除null 和 undefined
.toString() 括号中的可以写一个数字,代表进制,对应进制字符串

2、网页代码String()可以将null和undefined转换为字符串,但是没法转进制字符串

  1. Number
Number('123') //123
Number('+123') //123
Number('-123') //123
Number('12.12') //12.12
Number('12.12.12') //NaN
Number(true) //1
Number('asd') //NaN
Number([]) //NaN
Number(" ") //0
Number([1]) //1
Number([1,2]) //NaN
Number(new Object()) //NaN
Number(null) //0
  1. Boolean()

  2. 隐式转换

var x = "123" ,  y = 111
x+y  //"123111"
x-y //12
x*y //123*111
x/y //x/y 
x%y //12
x>y //true
x==y //false
"123a">y false

number类型值得关注的

let num = 1.8934;

保留几位小数

 num.toFixed(2)  // 1.89

取整

  1. 向上取整
 Math.ceil(num)  // 2
  1. 向下取整
 Math.floor(num)  // 1 
  1. 四舍五入取整
 Math.round(num)  // 2
  1. 丢弃小数部分取整
 parseInt(num)  // 1 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值