随笔分类 - javascript
摘要:高阶函数英文叫Higher-order function。。JavaScript的函数其实都指向某个变量。既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。 一个最简单的高阶函数: 当我们调用add(-5, 6, Math.abs)时,参
阅读全文
摘要:this 的指向 this 是 js 中定义的关键字,它自动定义于每一个函数域内,但是它的指向却让人很迷惑。在实际应用中,this 的指向大致可以分为以下四种情况。 1.作为普通函数调用 当函数作为一个普通函数被调用,this 指向全局对象。在浏览器里,全局对象就是 window。 可以看出,此时
阅读全文
摘要:上述abs()函数的定义如下: function指出这是一个函数定义; abs是函数的名称; (x)括号内列出函数的参数,多个参数以,分隔; { ... }之间的代码是函数体,可以包含若干语句,甚至可以没有任何语句。 请注意,函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结
阅读全文
摘要:遍历Array可以采用下标循环,遍历Map和Set就无法使用下标。为了统一集合类型,ES6标准引入了新的iterable类型,Array、Map和Set都属于iterable类型。 具有iterable类型的集合可以通过新的for ... of循环来遍历。 你可能会有疑问,for ... of循环和
阅读全文
摘要:JavaScript的默认对象表示方式{}可以视为其他语言中的Map或Dictionary的数据结构,即一组键值对。 但是JavaScript的对象有个小问题,就是键必须是字符串。但实际上Number或者其他数据类型作为键也是非常合理的。 初始化Map需要一个二维数组,或者直接初始化一个空Map。M
阅读全文
摘要:这就是一个对象,里面的类似键值对的东西是对象的属性。如果对象的属性不存在的话,返回的是'undefined' 不会报错 新增属性可以直接通过 删除属性 删除不存在的属性不会报错 判断对象是否拥有这个属性 可以直接使用 in ,返回的bool类型 上面的判断有一些瑕疵,父类的属性,子类会继承 解决办法
阅读全文
摘要:字符串操作的API记录 indexOf 注意了,数字30和字符串'30'是不同的元素。 slice slice()就是对应String的substring()版本,它截取Array的部分元素,然后返回一个新的Array: push和pop push()向Array的末尾添加若干元素,pop()则把A
阅读全文