关于JavaScirpt容易忘记的知识点

变量输出

console.log(010) // 8      八进制
console.log(0x10) // 16    十六进制
console.log(0b10) // 2     二进制

ES5遍历数组方法特点

let array = [,1,,2,,3];
array = array.map((i) => ++i)

//[,2,,3,,4]

forEach,filter,every,some会跳过空位,map会跳过空位,但是会保留这个值

JS变量回收

var i = 1;
var i = 2;
var add = function() {
    var i = 0;
    return function()
{
        i++;
        console.log(i);
    }
}();
add();


//有三个变量未回收:分别为第二个变量i、变量add、和add函数内的i(形成了闭包)

代码回收规则如下:

1.全局变量不会被回收。

2.局部变量会被回收,也就是函数一旦运行完以后,函数内部的东西都会被销毁。

3.只要被另外一个作用域所引用就不会被回收(闭包

JSDOM选择器

类别1:参数类似css

document.querySelector('.item'); // 选出一个class为item的dom
document.querySelectorAll('.item'); // 选出一组class为item的dom

类别2:

document.getElementsByClassName('item'); // 选出一组class为item的dom
document.getElementById('inp'); // 选出一个id为inp的dom
等等

二者区别为
1、query...API选择器不是实时的为静态;而getElement...则为实时为动态
2、getElement...性能上也要比query...快

JS浮点数处理精度

IEEE 754:IEEE二进制浮点数算术标准(IEEE 754)是20世纪80年代以来最广泛使用的浮点数运算标准,为许多CPU浮点运算器所采用。

在javascript中Number数据类型使用IEEE754格式表示整数和浮点数,浮点数处理精度为17位小数,并且浮点数值计算会产生舍入误差问题,如下:

console.log(0.1 + 0.2) //0.30000000000000004

这种情况是使用基于IEEE754格式的数值的浮点计算的通病

Undefined和Null

console.log(undefined == null) // ture

之所以出现这种情况,是因为在javascript中undefined派生自null

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值