
JavaScript
文章平均质量分 56
五花毛
没有行动的梦想都是妄想
展开
-
==和===的区别
== 两边值类型不同时,会先进行类型转换,然后在比较;=== 不做类型转换,若类型不同就不相等;==的转换过程:判断比较的是否是 null 或者是 undefined, 如果是, 返回 true . 判断两者类型是否为 string 和 number, 如果是, 将字符串转换成 number 判断其中一方是否为 boolean, 如果是, 将 boolean 转为 number...原创 2020-03-06 13:21:01 · 310 阅读 · 0 评论 -
滑动报[Intervention] Unable to preventDefault inside passive event listener的解决办法
想要仿微信浮窗效果,开发过程中发现如下报错:解决方法:html{ touch-action:none;}这样任何触摸事件都不会产生默认行为,但是 touch 事件照样触发。...原创 2019-10-25 10:22:14 · 980 阅读 · 0 评论 -
JS之作用域
简单了解JS中的作用域:首先,作用域是指一个变量的作用范围,JS中的作用域分为全局作用域和函数作用域.1.全局作用域: * 直接编写在script标签的JS代码,都在全局作用域 * 全局作用域在页面打开时创建,页面关闭时销毁 * 在全局作用域中有一个全局对象window,它代表一个浏览器窗口,由浏览器创造我们可以直接使...原创 2018-12-05 10:40:00 · 281 阅读 · 0 评论 -
JS模块化(一):CommonJS
模块化的规范: 目前有四种: 1.CommonJS 2.AMD 3.CMD(了解) 4.ES6 CommonJS规范说明: * 每个文件(js文件)都可以作为一个模块 * 在服务器端:模块的加载是运行时同步加载的(容易遇...原创 2018-12-06 15:40:09 · 497 阅读 · 0 评论 -
JS模块化(二):AMD(RequireJS)
AMD规范说明: Asynchronous Moudle Definition(异步模块定义) 专门用于浏览器端,模块的加载是异步的 AMD基本语法 * 定义暴露模块: // 定义没有依赖的模块 define(function(){ return 模块 ...原创 2018-12-07 10:44:42 · 379 阅读 · 0 评论 -
JS模块化(三):CMD
CMD规范说明: Common Module Definition(通用模块定义) 专用于浏览器端,模的加载是异步的 模块使用时才会加载执行 CMD基本语法: 定义暴露模块: // 定义没有依赖的模块: define(function(require,exports...原创 2018-12-07 15:43:23 · 1726 阅读 · 0 评论 -
JS模块化:ES6规范
ES6规范说明: 依赖模块需要编译打包处理 ES6规范语法: 导出模块:export 引入模块:import ES6规范实现(浏览器端): 使用Babel将ES6编译为ES5代码 使用Browserify编译打包js举个栗子:第一步创建目录结构如下,定义package.json{ ...原创 2018-12-10 14:51:59 · 593 阅读 · 0 评论 -
JS的值传递和引用传递
JS中有5种基本数据类型,它们在赋值的时候是通过值传递,而引用数据类型(对象)是通过引用来传递.举个例子:var x = 10;var y = 'abc';var a = x;var b = y;a = 5;b = 'def';console.log(x, y, a, b); // 10, 'abc', 5, 'def'基本数据类型,改变a,b的值并没有影响x,y当我...原创 2019-03-07 16:55:09 · 388 阅读 · 0 评论 -
前端截图插件cropper用法包括向后台传输数据方式
最近项目中遇到一个需求,要求前端实现截图,并使用canvas描边,然后以文件流的方式传给后台.记录一下在实现这一过程中主要的几个步骤: base64转为file,canvas鼠标画线.关于cropper的使用可以参考:https://blog.youkuaiyun.com/weixin_38023551/article/details/78792400,作者写的比较详细,这里就不再赘述....原创 2019-04-01 13:28:35 · 1050 阅读 · 0 评论 -
JS之变量提升
简单了解JS中的变量提升问题:变量声明的提升* 使用var关键字声明的变量,会在所有代码执行之前被声明(但不会赋值)console.log(a);//undefinedvar a = 123;上述代码相当于:var a;console.log(a)a = 123;* 如果声明时没有使用var关键字,则变量声明不会提前console.log(a)// 报错 a...原创 2018-12-05 09:56:53 · 180 阅读 · 0 评论 -
JS之执行上下文与执行上下文栈
分享一下JS中很基础也很重要的概念:执行上下文(Execution Context);将我们的代码进行分类:1.代码分类(位置): * 全局代码 * 函数(函数)代码.2.全局执行上下文 (1) 在执行全局代码前将window确定为全局执行上下文 (2)对全局数据进行预处理 * va...原创 2018-12-04 18:43:49 · 1689 阅读 · 0 评论 -
数组Array方法之filter()、map()、sort()、reduce()
filter()方法:过滤操作,筛选出符合条件的元素,返回组成的新数组。语法:array.filter(function(currentValue,index,arr),thisValue)const peoples = [{name:'Yoona',age:26},{name:'Jessica',age:27},{name:'Tiffany',age:29},{name:'Kr...原创 2018-07-31 10:49:22 · 1495 阅读 · 0 评论 -
console.log()在浏览器中是异步执行!!!
今天发现一个小问题:console.log()在浏览器中居然是异步执行的!!!看下面这段代码:打印结果如下:数组的第一项是true.使用node执行这段代码,结果如下: ...原创 2018-08-22 15:42:15 · 1165 阅读 · 1 评论 -
数组之最全汇总(包含es6)
定义数组:var arr = [];//或者var arr = new Array(); //ES6const arr = [];const arr = new Array();检测数组: // 1.instanceof 检测 console.log(arr instanceof Array);//true arr对象的原型链上能找到Array // 注意...原创 2018-08-27 15:05:06 · 636 阅读 · 0 评论 -
JS中对象(一)
1.什么是对象? * 多个数据的封装体 * 用来保存多个数据的容器 * 一对象代表现实中的一个事物 2.为什么要用对象? * 统一管理多个数据 3.对象的组成? * 属性:属性名(字符串)和属性值(任意)组成 * 方法:一种特别的属性(属性值是函数) 4.如何访问对象内部数据? * .属性名 * ['属性名']...原创 2018-08-28 10:03:55 · 284 阅读 · 0 评论 -
ES6中Map对象和Set对象
Map对象:保存键值对Map方法:var myMap = new Map(); myMap.set('Yoona',27);// 添加新的键值对 myMap.set('Jessica',28) console.log(myMap)打印输出: console.log(myMap.size)// 2 console.log(myMap.has('Yo...原创 2018-08-29 11:52:40 · 411 阅读 · 0 评论 -
JS中this指向问题
解析器在调用函数时,每次都会向函数内部传递进一个隐含的参数,这个隐含的参数就是this,this指向的是一个对象,这个对象我们称之为函数执行的上下文对象,根据函数的调用方式不同,this会指向不同的对象.简单来说一下函数中this指向问题,1.this是什么? 任何函数本质上都是通过某个对象来调用的,如果没有直接指定就是 window 所以函数内部都有一个变量...原创 2018-09-04 11:51:05 · 301 阅读 · 0 评论 -
初识ES6
1.ECMAScript是什么?它是一种由ECMA组织(前身为欧洲计算机制造商协会)制定和发布的脚本语言规范.JavaScript是ECMA的实现,但术语ECMAScript和JavaScript表达同一意思.2.JS包含三个部分: 1)ECMAScript(核心) 2)扩展===>浏览器端 BOM (浏览器对象模型) DOM (文档对象模型)...原创 2018-08-30 11:12:30 · 195 阅读 · 0 评论 -
Object扩展对象
1. Object.create(prototype,[descriptors]) 作用: 以指定对象为原型创建新的对象 为新的对象指定新的属性,并对属性进行描述 -value 指定值 -writable 标识当前属性值是否是可修改的,默认为false -configur...原创 2018-11-10 18:56:45 · 285 阅读 · 0 评论 -
Function的拓展:bind(),call(),apply()
1. Function.prototype.bind(obj) 作用: 将函数内的this绑定为obj,并将函数返回var obj = {username: 'Yoona'} function foo(data){ console.log(this,data) } var bar = foo.bind(obj) console.log(bar);// 输出函数体...原创 2018-11-10 19:08:09 · 200 阅读 · 0 评论 -
JS实现倒计时自动跳转
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title></title></head><body> <p>还有<原创 2018-07-30 15:04:54 · 572 阅读 · 0 评论