ES6 学习笔记(十一)迭代器和生成器函数
1、前言 JavaScript提供了许多的方法来获取数组或者对象中的某个元素或者属性(迭代)。从以前的for循环到之后的filter、map再到后来的for...in和for...of的迭代机制。只要具有iterator接口的都可被迭代。 2、迭代器 Iterator 2.1 含义 迭代器(iterator)为各种数据结构,提供一个统一的、简便的访…
ES6 学习笔记(十)Map的基本用法
1 基本用法 Map类型是键值对的有序列表,而键和值都可以是任意类型。可以看做Python中的字典(Dictionary)类型。 1.1 创建方法 Map本身是一个构造函数,用来生成Map实例,如: let m1 = new Map() 1.2 初始化 Map构造函数可以接收一个数组作为参数,该数组的成员可以是一组表示键值对的数组。也可以是任何具有…
ES6 学习笔记(九)Set的基本用法
1 基本用法 set类似于数组,它的成员是唯一的,当有多个相同的值,只会保留一份。 1.1 创建方法 Set本身是一个构造函数,用来生成Set实例,如: const s = new Set() let arr = [2, 3, 4, 5, 6, 2, 2] arr.forEach(x => s.add(x)); for (let i of s…
ES6 学习笔记(八)基本类型Symbol
1、前言 大家都知道,在ES5的时候JavaScript的基本类型有Number、String、Boolean、undefined、object、Null共6种,在es6中,新增了Symbol类型,用于表示独一无二的值。之后又提出了bigInt类型(前面提到过),这里简要的总结Symbol的一些基本用法。 2、基本用法 2.1 用法一(直接使用) …
node 学习笔记 模块和包的管理与使用
1、前言 对于各种编程语言,代码组织是很重要的。而模块是node中的代码组织机制,node中的很多功能都以模块划分,而模块中又封装了许多方法,而且不会改变全局作用域,极大的方便了各开发者的需求。 2、模块操作 2.1 自定义模块 举个例子: hello.js var daysarr = new Array('星期一', …
JS 学习笔记 (七) 面向对象编程OOP
1、前言 创建对象有很多种方法,最常见的是字面量创建和new Object()创建。但是在需要创建多个相同结构的对象时,这两种方法就不太方便了。 如:创建多个学生信息的对象 let tom = { name: "Tom", age: 20, sex: "boy", height: 175 }; let mar…
JS 学习笔记 (六) 函数式编程
1、函数闭包 1.1 概述 JavaScript采用词法作用域,函数的执行依赖于变量作用域,这个作用域是在函数定义时决定的,而不是函数调用时决定的。 为了实现这种词法作用域,JavaScript函数对象的内部状态不仅包含函数的代码逻辑,还必须引用当前的作用域链。 函数对象可以通过作用域链相互关联起来,函数体内部的变量都可以保存在函数作用域内,这种特…
JS 可编辑表格的实现(进阶)
1、前言 在普通的可编辑表格的基础上,改进可编辑表格。数据来自外部的json(模拟服务端),通过json数据生成可编辑表格。根据实际情况,表格没有新增数据功能。表格的可编辑列,计算的列,每列的数据大小,以及是否删除都可进行配置,在修改单元格内容和删除行数据都会映射到相应数据集中。 实现效果: 2、设计思路与方法 现将基本样式写好,将所有的数据写在j…
Vue 实现小小记事本
1、实现效果 用户输入后按回车,输入的内容自动保存,下方会显示记录的条数,鼠标移动到文字所在div上,会显示删除按钮,点击按钮,相应记录会被删除,下方的记录条数会相应变化,点击clear,所有记录会被删除。效果如下: 2、实现思路 先写出记事本的基本样式,在vue实例中的data对象里定义list数组,以及message的初始值。通过 v-mode…
JS 可编辑表格的实现
1、实现效果 用户点击语文,数学,英语部分的单元格,可以实现分数的编辑,总分也会随之变化。先看下效果,如图: 2、设计思路 先通过HTML5+CSS3绘制表格,添加input的样式和err提示动画。 给要修改的数据的单元格添加name属性,给总分那一列的单元格添加rname属性。先获取所有要更改数据的单元格,通过for循环遍历,给他们添加单击事件。…
JS学习笔记 (五) 函数进阶
1、函数基础 1.1 函数的基本概念 函数是一段JavaScript代码,只被定义一次,但是可以被调用或者执行许多次。函数是一种对象,可以设置属性,或调用方法。 函数中的参数分为实参和形参。其中,形参在函数体中类似局部变量,函数调用会为形参提供实参的值。函数使用实参的值来计算返回值,成为该函数调用表达式的值。除了实参外,函数每次调用都会有一个thi…
JS学习笔记 (四) 数组进阶
1、基本知识 1、数组是值的有序集合。每个值叫做一个元素,而每个元素在数组中的位置称为索引,以数字表示,以0开始。 2、数组是无类型的。数组元素可以是任意类型,并且同一个数组中的不同元素也可能有不同的类型。数组的元素可以是对象或其它数组。 3、数组是动态的,数组长度可长可短。在创建数组时无须声明一个固定的大小或者在数组大小变化时无须重新分配空间 4…