使用 Array.includes 替代 Array.indexOf “如果需要在数组中查找某个元素,请使用 Array.indexOf.” 我记得在我学习 JavaScript 的课程中有类似的这么一句话.毫无疑问,这完全正确! 在 MDN 文档中,对 Array.indexOf 的描述是:返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1.因此,如果在之后的代码中需要用到(给给定元素的)索引,那么 Array.indexOf 是不二之选. 然而,如果我们仅需要知道数组中是否…
如何在 JavaScript 中检查字符串是否包含子字符串? // var test4 = _.includes(string, substring); 该方法需要此文件 <script src="https://cdn.jsdelivr.net/npm/lodash@4.17.11/lodash.min.js"></script> <script type="text/javascript"> var string = &quo…
对于熟悉C#和Java的兄弟们,面向对象的三大思想(封装,继承,多态)肯定是了解的,那么如何在Javascript中利用封装这个特性呢? 我们会把现实中的一些事物抽象成一个Class并且把事物的属性(名词)作为Class的Property把事物的动作(动词)作为Class的methods.在面向对象的语言中(C#等)都会有一些关键字来修饰类或者属性(Private,public,protect),这些关键词描述了访问的权限,不多做解释. 我们来看看Javascript的易变的特性(我们还用上一次…
在JavaScript中,方法往往涉及到上下文,也就是this,因此往往不能直接引用,就拿最常见的console.log("info…")来说,避免书写冗长的console,直接用log("info…")代替,不假思索的会想到如下语法: var log = console.log; log("info…"); 很遗憾,运行报错:TypeError: Illegal invocation. 为啥呢?对于console.log("info……
将另一个函数作为参数的函数,或者定义一个函数作为返回值的函数,被称为高阶函数. JavaScript可以接受高阶函数.这种处理高阶函数的能力以及其他特点,使JavaScript成为非常适合函数式编程的编程语言之一. JavaScript将函数视为一等公民 你也许听说过,JavaScript函数是一等公民.这意味着,在JavaScript中函数是对象. 它们的类型是Object,它们可以作为一个变量的值被分配,而且它们可以像其他引用变量一样被传递和返回. 一等函数赋予了JavaScript特殊的能…
JavaScript在前端领域占据着绝对的统治地位,目前更是从浏览器到服务端,移动端,嵌入式,几乎所有的所有的应用领域都可以使用它.技术圈有一句很经典的话"凡是能用JavaScript实现的东西,最后都会用JavaScript实现". Excel 电子表格自 1980 年代以来一直为各行业所广泛使用,至今已拥有超过3亿用户,大多数人都熟悉 Excel 电子表格体验.许多企业在其业务的各个环节中使用了 Excel 电子表格进行数据管理. 在本博客中,我们将介绍如何按照以下步骤在 Java…
这是一篇<数据结构与算法javascript描述>的读书笔记.主要梳理了关于数组的知识.部分内容及源码来自原作. 书中第一章介绍了如何配置javascript运行环境:javascript shell,不过我本人习惯使用sublime,所以直接在sublime中运行的.关于如何在sublime中配置环境请参考: https://my.oschina.net/ximidao/blog/413101#comment-list 强烈建议把所有的代码都撸一遍以上. 1.1   Javascript中对…
第一部分 我们知道JavaScript中的数据类型有基本数据类型和引用类型,其中Object类型就是非常常用的类型.那么如果创建一个Object类型的实例呢?下面我介绍两种方法: 第一:构造函数法. 1 2 3 var person=new Object(); person.name="zhuzhenwei"; person.age=20; 这里Object()实际上是默认的构造函数,显然,为满足需要,我们可以通过后两条语句添加新的属性.JavaScript高级程序设计第3版83页介绍…
1.javascript的对象的概念 在javascript中,除了null和undefined以处,其他的数据类型都被定义成了对象 也可以用创建对象的方法定义变量,string,math,array,data都是javascript中重要的内置对象. 在javascript程序大多数功能都是基于对象实现的 var aa=Number.MAX_VALUE; //利用数字对象获取可表示最大数 var bb=new String("hello world"); //创建字符串对象 var…
JavaScript中我们经常会遇到拷贝数组的场景,但是都有哪些方式能够来实现呢,我们不妨来梳理一下. 1.扩展运算符(浅拷贝) 自从ES6出现以来,这已经成为最流行的方法.它是一个很简单的语法,但是当你在使用类似于React和Redux这类库时,你会发现它是非常非常有用的. numbers = [1, 2, 3]; numbersCopy = [...numbers]; 这个方法不能有效的拷贝多维数组.数组/对象值的拷贝是通过引用而不是值复制. //…