Js基础

truthy和falsy

falsy:false  0  ""  null  NaN  undefined	
truthy:除了上述	

var let const

var:语句块是没有作用域的,只有函数有。	
let、const: 拥有块作用域。	

parseInt、parseFloat、+对于字符串转数字的处理

parseIntparseFloat方法会遍历字符串,直到有无法转化成字符串的字符出现就停止遍历,将该字符之前的转化为数字输出。
+ 如果字符串中有无法转化为数字的字符,那么整个字符串就会转化为NaN

数组的长度

数组的长度是最大下标+1

let a = [1,2,3]
a[100] = 101
// a.length == 101
// a[10] == undefined

如上所示,数组长度为101,未被赋值的都是undefined。

函数调用

函数中的this指向了调用函数的对象,若通过.[]来访问,this就是指向调用者,没有用就指向全局。

call和apply

apply(param1,param2)
第一个参数修改this,将函数中的this指向参数,第二个参数就是修改函数的内置参数列表。params是什么,参数列表就是什么(arguments)
call(params,param2)
第一个参数也是修改this,同apply。第二个参数是扩展的参数列表。

内部函数、闭包

内部函数是指函数内部的函数,它可以访问父亲函数的变量。

闭包

闭包是JavaScript中最强大的抽象概念之一。

function makeAdder(a) {
  return function(b) {
    return a + b;
  }
}
var add5 = makeAdder(5);
var add20 = makeAdder(20);
add5(6); // ?
add20(7); // ?

看如上代码,当调用makerAdder时,创建了一个作用域对象,里面有一个属性为a,并返回了新的函数,我们称之为innerAdder。原本,js的垃圾回收机制会将这个作用域对象回收,但是他发现,在innnerAdder拥有一个指向了作用域对象的引用,所以作用域对象不会被回收,直到没有任何引用指向新函数 innerAdder。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值