![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
记录JavaScript的学习笔记
心刻
这个作者很懒,什么都没留下…
展开
-
正则表达式中的lastIndex属性和compile方法
正则表达式中的lastIndex属性,这个属性用于规定下次匹配的起始位置。如果是 exec() 或 test() 方法匹配,每次匹配之后这个lastIndex的值都是0,也就是每次都从头开始匹配function reg(num){ var a = /(\d{4})(\d{2})/; var b=a.test(num);...原创 2020-04-18 18:01:32 · 375 阅读 · 0 评论 -
在表单选择(图片)文件之后马上在页面显示出来
在表单中点击选择文件之后,(图片)文件马上显示在页面当中。文件读取FileReader在JavaScript中要读取文件需要先创建文件读取对象,由文件读取对象帮助我们读取文件。怎么创建读取文件?在JavaScript当中有一个内置的构造函数叫 FileReader,创建FileReader的实例对象就是在创建文件读取对象。接下来使用文件读取对象去读取文件,调用它的 readAsDataURL ...原创 2020-04-15 16:49:33 · 1762 阅读 · 0 评论 -
Ajax简单封装的例子记录
简单封装Ajax函数的例子function ajax (options) { // 存储的是默认值 var defaults = { type: 'get', url: '', data: {}, header: { 'Content-Type': 'application/x-www-form-urlencoded' }, ...原创 2020-04-13 15:17:27 · 107 阅读 · 0 评论 -
Promise对象与async和await关键字
PromiseES6中 Promise出现的目的是解决Node.js异步编程中回调地狱的问题。Promise只是异步编程语法上的改进,并没有提供新的功能。可以让我们将异步API的执行和处理相分离。Promise本身是一个构造函数,如果需要用Promise,首先需要new一个Promise的实例对象。Promise构造函数接收一个匿名函数作为参数,这个匿名函数中又有两个参数,分别是resolv...原创 2020-04-08 19:43:42 · 597 阅读 · 0 评论 -
JavaScript的字符串
ES5中的新增方法trim( )方法作用:删除字符串的两端空白字符返回值:trim( )方法并不影响原字符串本身,它返回的是一个新的字符串注意:不会去除字符串中间的空格,只会去除字符串前后两端的调用方法:var newStr = str.trim()...原创 2020-04-10 16:38:50 · 277 阅读 · 0 评论 -
JavaScript的预解析既变量提升
预解析的相关概念JavaScript 代码是由浏览器中的 JavaScript 解析器来执行的。JavaScript 解析器在运行 JavaScript 代码的时候分为两步:预解析和代码执行。预解析:在当前作用域下, JS 代码执行之前,浏览器会默认把带有 var 和 function 声明的变量在内存中进行提前声明或者定义。代码执行: 从上到下执行JS语句。预解析会把变量和函数的声明...原创 2020-04-09 21:16:46 · 142 阅读 · 0 评论 -
JavaScript的数据类型与变量
JavaScript的数据类型基本数据类型字符串(String)、数字 (Number)、布尔 (Boolean)、空值(Null)、未定义(Undefined)、唯一值(Symbol)。注意:Symbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值。引用数据类型对象 (Object)、数组 (Array)、函数 (Function)。注意:数组和函数其实也是对象来的。...原创 2020-04-04 22:26:48 · 146 阅读 · 0 评论 -
ES6的Set数据结构
Set数据结构ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。应用场景:搜索历史关键字的存储、数组去重Set的创建Set本身是一个构造函数,用来生成 Set 数据结构。const s = new Set(); Set函数可以接受一个数组作为参数,用来初始化。const set = new Set([1, 2, 3, 4, 4]); ...原创 2020-03-31 00:48:38 · 95 阅读 · 0 评论 -
ES6的新增语法之解构赋值
解构赋值解构代表分解数据结构,赋值指的是为变量赋值。在ES6中允许我们按照对应结构从数组或者对象当中提取值,再将提取出来的值赋值给变量。解构赋值使这个过程更加简便。数组解构let [a, b, c] = [1, 2, 3]; //注意 a,b,c 是没有加引号的console.log(a) //1console.log(b) //2console.log(c) //3等号右边有一个...原创 2020-03-30 17:38:59 · 206 阅读 · 0 评论 -
ES6的新增语法之let和const
letlet是ES6中新增的用于声明变量的关键字,它声明的变量只在所处于的块级有效。块级作用域的意思就是大括号{ }包含的范围。注意:使用let关键字声明的变量才具有块级作用域,使用var声明的变量不具备块级作用域特性。使用let的好处:1.防止内部变量覆盖外部变量。2.防止循环变量变成全局变量。(每次循环都会产生一个块级作用域)使用let关键字声明的变量只能先声明再使用,不存在变量...原创 2020-03-30 17:16:50 · 331 阅读 · 0 评论 -
JavaScript中的正则表达式
正则表达式是什么:正则表达式( Regular Expression )是用于匹配字符串中字符组合的模式。在 JavaScript中,正则表达式也 是对象。正则表达式的作用:1.匹配字符(验证表单)2.替换字符(敏感字过滤)3.提取字符(特定部分提取)创建正则表达式:方式1:调用 RegExp 对象的构造函数创建var 变量名 = new RegExp(/表达式/); 方式2:...原创 2020-03-30 12:42:17 · 163 阅读 · 0 评论 -
JavaScript深拷贝与浅拷贝
浅拷贝只是拷贝一层,更深层次对象级别的只拷贝引用。深拷贝拷贝多层,每一级别的数据都会拷贝。浅拷贝使用普通遍历来拷贝(浅拷贝)var obj = { id:1, name:'andy', msg:{ age:8 }};var o = {};for( var k in obj ) { // k 是属性名 obj[k] 是属性值 o[k] = obj[k];}o.ms...原创 2020-03-29 20:22:03 · 83 阅读 · 0 评论 -
JavaScript高阶函数与闭包
高阶函数是对其他函数进行操作的函数,它接收函数作为参数或将函数作为返回值输出。高阶函数形式1:接收函数作为参数function fn(callback){ callback&&callback(); } fn(function(){alert('hi')}高阶函数形式2:接收函数作为参数function fn(){ return function() ...原创 2020-03-29 15:29:07 · 124 阅读 · 0 评论 -
JavaScript改变函数内this的指向
JavaScript 为我们专门提供了一些函数方法来帮我们更优雅的处理函数内部 this 的指向问题,常用的有 bind()、 call()、apply() 三种方法。call 方法作用:可以调用函数,可以改变函数中this的指向,可以实现继承父类构造函数中的属性。返回值:函数本身的返回值,因为call就是调用函数。主要应用:想改变 this 指向,同时想调用这个函数的时候使用。va...原创 2020-03-29 10:18:31 · 161 阅读 · 0 评论 -
JavaScript常用的数组方法
数组的概念数组是指一组数据的集合,其中的每个数据被称作元素,在数组中可以存放任意类型的元素。数组是一种将一组数据存储在单个变量名下的优雅方式。为什么要使用数组?因为使用变量存储一组相关的数据的时候,一个变量只能保存一个值。而要保存多个值的时候就要声明很多变量,起很多个变量名。而使用数组只需要声明一个变量就可以放下一组相关的数据。创建数组的方法利用new 创建数组var arr = ...原创 2020-03-28 14:47:47 · 133 阅读 · 0 评论