随笔分类 - javascript
摘要:基础类型有8种,分别是: boolean number null undefined string symbol 特点:独一无二 使用场景:作为对象的key,可以保证该属性不会被覆盖。 除了自定义 symbol 的值,ES6 还提供了 11 个内置的 symbol 值,指向语言内部使用的方法。 方法
阅读全文
摘要:JavaScrtipt 执行顺序 首先,必须要明确,在JavaScript中,所有任务都在主线程上执行。任务执行过程分为同步任务和异步任务两个阶段。异步任务的处理经历两个主要阶段:Event Table(事件表)和 Event Queue(事件队列)。Event Table存储了宏任务的相关信息,包
阅读全文
摘要:作用 类是用于创建对象的模板 原理 类的数据类型就是函数,类本身就指向构造函数。 类:定义的方法都存在于prototype中 实例:通过__proto__进行访问原型 用法 声明(具名和匿名两种。函数声明和类声明之间的一个重要区别在于,函数声明会提升,类声明不会。) 原型方法(constructor
阅读全文
摘要:document cookie :常用与客户端存放数据 参考:语法、参数说明 Element.scrollIntoView() : 滚动元素的父级,时该元素在可见范围内 参考:官网 dispatchEvent(event) :手动触发事件 element的操作 1.parentNode : 获取父级
阅读全文
摘要:文件的导入导出 export default 和 export 导出,import导入。 补充: 还有两个相似的:module.exports 和 exports (exports = module.exports) 导出,require() 导入 与之区别是:(1)一个是CommonJS模块规范,
阅读全文
摘要:初始化 有三种方式: 1. new Object() 补充: 2. Object.create(proto[, propertiesObject]): 使用现有的对象来作为新创建对象的原型 > 参数说明: proto : 新创建对象的原型对象。 值为:null(有优缺点,看官网) 或 除基本类型包装
阅读全文
摘要:Element Element.scrollIntoView() : 会滚动元素的父容器,使被调用 scrollIntoView() 的元素对用户可见。 MutationObserver new MutationObserver() : 检测 DOM 变化(插入、删除、修改) InterSectio
阅读全文
摘要:文件处理 如何将File对象转化二进制对象传给后端 概念 粘性事件 何为粘性事件 如何实现? 用户 获取用户的地址和ip等信息
阅读全文
摘要:XMLHttpRequest 作用 在不刷新页面的情况下,能够发起请求(ajax的原理) 使用 先初始化构造函数,生成一个实例 const xhrRequest = new XMLHttpRequest(); 初始化请求 xhrRequest.open('POST','some.php','true
阅读全文
摘要:一、语法 定义:有两种形式,分别为:文字形式和构造形式。两种方式生成的对象都是一样的,只是文字形式可以同时添加多个属性,而构造形式只能逐个添加。 //文字形式 var obj1 = { id: 1, name: 'Mike' }; //构造形式 var obj2 = new Object(); ob
阅读全文
摘要:this存在于哪里? this是一个很特别的关键字,被自动定义在所有函数的作用域中。 为什么要使用this,好处是什么? 能将“显式”传参转化为“隐式”传参。更简洁且易于复用。 function say1(){ let message = "Hello,My name is " + this.nam
阅读全文
摘要:一、什么是闭包 函数在定义时的 词法作用域 以外的地方被调用,就会产生闭包。 二、产生闭包的原因 都是因为 词法作用域 造成的。无论通过何种手段将内部函数传递到所在的词法作用域以外,它都会持有对原始定义作用域的引用,无论在何处执行这个函数都会使用闭包,且使得该作用域能够一直存活,没办法进行垃圾回收。
阅读全文
摘要:js的作用域,按工作模型,可以分为:词法作用域和动态作用域。按类型,可以分为:函数作用域和块作用域。 一、什么是词法作用域 词法作用域是定义在词法阶段的作用域。换句话说,词法作用域是由你在写代码时将变量和块作用域写在哪里来决定的。在编译阶段进行静态确定的形式。 /* 全局作用域有:foo foo的作
阅读全文
摘要:一、作用 代码复用 二、执行过程 创建内存空间,标记为该构造函数的实例;函数体内部的this指向该内存。 三、与普通函数的异同 (1)定义 与普通函数没有差别,只是为了区分,默认首字母大写。 (2)创建 构造函数前面要加关键字 new (3)返回 构造函数如果没有设置返回的话,默认该实例; 普通函数
阅读全文
摘要:一、使用的环境 (1)return只能在函数里面使用 (2)break、continue 在循环(for、while、do.....while)中使用 ,不能在forEach中使用。 const arr = [1, 2, 3, 4, 5]; for(let i of arr){ if(i == 2)
阅读全文
摘要:一、什么是异步 简单来说,就是任务A完成了一半,暂停不做了,再做任务B,接着再继续任务A剩下的工作。 二、异步的好处是什么 就是不浪费时间,高效。把之前等待资源的时间都充分利用起来干活了 三、实现方法 1、es6之前,大概有四种:回调函数、监听事件、发布/订阅、Promise 对象 2、es6,可以
阅读全文
摘要:一、长按识别选择 问题:经常会出现英文和数字不能同时复制 方法:(1)ios:在要复制的文本前后再加个空格 (2)安卓:要复制的文本对应的标签增加样式:user-select:all; 二、点击问题 问题:触发不了点击事件,会出现这种情况,一般你使用的机子大概已经很旧很旧了~~ 方法:需要做点击的标
阅读全文
摘要:一、相同点 (1)能遍历 二、不同点 (1)返回值不同。 for....in..... : 返回的是key for.....of...... :返回的是value const arr = ['a','b']; for(let i in arr){ console.log(i);// 1 2 } fo
阅读全文
摘要:一、属性 二、方法 1、typeof(value) : 判断数据类型 返回值有6种:undefined object function string number boolean 【注意:null 和 数组都是返回object】 console.log(typeof(undefined)); con
阅读全文