js超基础的知识点

1,js数据类型

基本类型:null,undefined,String,Number,Boolean,Symbol

引用类型:Object,Function,Array

区别:基本类型存到栈里,引用类型存到堆里

注意:NaN属于Number类型,且NaN==NaN为false

           typeof(null) //‘object’,原因:js原始版本是使用32位操作系统,000表示对象,而null全为0,所以误判为object

 若想得到一个变脸正确的类型,用object,prototype,toString.call(xxx)  ,最后输出结果为[object Type]

2,类型转换

分为强制类型转换和隐式类型转换

哪些会发生隐式类型转换:数字运算符(‘+’,‘-’),“==”,if条件判断会转换成Boolean等

转Boolean时,undefined,null,0,-0,NaN均为false

转为对象时,会先调用valueOf,然后调用toString方法,也可以重写Symbol.toPrimitive方法,它的优先级高于前两个

加法运算,只要一方是String,另一方一会转成String,其他运算只要一方是数字,另一方也会转换成数字

特殊值:Number(undefined) //NaN

               Number(null)   //0

               parseInt(true) //NaN

eg:
1, 'a'++'b'==aNaN
//+'b'为NaN,所以结果为aNaN

2, [1,2]+[2,1]=1,22,1
//1,先调用toString方法,[1,2].toString() // '1,2'
//                     [2,1].toString() // '2,1'
//2,'1,2'+'2,1'='1,22,1'

js数组转字符串

toString方法(注意undefined和null不能用toString方法)

eg:
var list=['a','b','c','d'];
list.toString()  //"a,b,c,d"

join()方法

eg:
var list=['a','b','c','d'];
list.join('')  //"abcd"

 字符串转数组split(' ')

eg:
var str='abc';
str.split() //['abc']
str.slpit('') //'a','b','c','d'

 

3,“==”

String类型进行比较时,需长度相等且相同字符在相同位置才返回true,否则返回false

若比较运算符一边类型为Object,另一边为Number或String,需用ToPrimitive来判断object

若比较运算符一边为Boolean,返回ToNumber(xxx)的结果

特殊值:null==undefined //true

               NaN==NaN  //false

eg:
[]==![]
//[]==true,取反为false,
//ToNumber(false)==0
//ToPrimitive([])==0
//所以,0==0为true

4,提一下parseInt的使用

parseInt转换成整数,但不会转换成boolean等,且第二个参数是第一个参数的进制数

eg:
2------------10------------16
   parseInt      toString
var num=101010;
var test=num.parseInt(num,2);
test.toString(16)

5,常用Math方法

Math.abs()  //绝对值

Math.ceil() //向上取整

Math.floor()//向下取整

Math.round() //把数四舍五入为最接近的整数。

Math.max()

Math.min()

Math.random()  //随机数

注意js数是浮点型,所以会有精度问题

js最大值为2的53次幂

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值