![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javascript
highfish920
这个作者很懒,什么都没留下…
展开
-
js原生拖拽,h5拖拽,jq拖拽
js原生拖拽基本思路如下,拖拽状态 = 0鼠标在元素上按下的时候{拖拽状态 = 1记录下鼠标的x和y坐标记录下元素的x和y坐标}鼠标在元素上移动的时候{如果拖拽状态是0就什么也不做。如果拖拽状态是1,那么元素y = 现在鼠标y - 原来鼠标y + 原来元素y元素x = 现在鼠标x - 原来鼠标x + 原来元素x}鼠标在任何时候放开的时候{拖拽状态 = 0}<!DOCTYPE html><html lang="en"><head>原创 2020-08-27 20:15:14 · 229 阅读 · 0 评论 -
Promise如何封装一个AJAX
Promise的出现主要是解决地狱回调的问题,比如你需要结果需要请求很多个接口,这些接口的参数需要另外那个的接口返回的数据作为依赖,这样就需要我们一层嵌套一层,但是有了Promise 我们就无需嵌套 参考:https://www.cnblogs.com/elexmiumiu/p/12196122.htmlfunction ajax(optionsOverride){ //将传入的参数与默认的合并 var options = {} for(var k in ajaxOptions)原创 2020-08-25 21:17:08 · 350 阅读 · 0 评论 -
ES6特性
常用的es6新特性:let && constlet命令也用于声明对象,但是作用域为局部。iterable类型为了统一集合类型,ES6标准引入了新的iterable类型,Array、Map和Set都属于iterable类型,具有iterable类型的集合可以通过新的for … of循环来遍历。解构赋值箭头函数类es6 比 es5 增加了很多特殊的方法,如果你遇到了这些特殊的方法,你就可以确定它是 es6。如果你的代码中没有引用这些特殊的方法,那我们就可以认为他是 es5原创 2020-08-25 20:54:43 · 155 阅读 · 0 评论 -
对于es6中promise的理解
promise是一个异步函数,主要是为了解决异步处理回调地狱(也就是循环嵌套的问题)而产生的,有3种状态,Fulfilled 为成功的状态,Rejected 为失败的状态,Pending 既不是 Fulfilld 也不是 Rejected 的状态,可以理解为 Promise 对象实例创建时候的初始状态参考 https://www.jianshu.com/p/063f7e490e9avar promise = new Promise(function(resolve, reject) { if (/*原创 2020-08-25 20:47:02 · 102 阅读 · 0 评论 -
cookie如何设置或获取,setTimeout和promise的执行顺序,javaScript的事件流模型,navigator对象,js的垃圾回收机制,内存泄漏,location和history
cookie如何设置或获取 <script> //1.设置cookie function setCookie(cname, cvalue, exdays) { var d = new Date() d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000)) var expires = "expires=" + d.toGMTStrin原创 2020-08-24 18:07:28 · 199 阅读 · 0 评论 -
JS动画和CSS3动画有什么区别,倒计时,JS处理异常的语句有哪些举例说明,JS的设计模式,轮播图组件开发,我有10000万张图片要轮播, 手指点击触控屏幕是什么事件,函数柯里化是
JS动画和CSS3动画有什么区别功能涵盖面,JS比CSS3大定义动画过程的@keyframes不支持递归定义,如果有多种类似的动画过程,需要调节多个参数来生成的话,将会有很大的冗余(比如jQuery Mobile的动画方案),而JS则天然可以以一套函数实现多个不同的动画过程时间尺度上,@keyframes的动画粒度粗,而JS的动画粒度控制可以很细CSS3动画里被支持的时间函数非常少,不够灵活以现有的接口,CSS3动画无法做到支持两个以上的状态转化实现/重构难度不一,CSS3比JS更简单,性能调优方向固原创 2020-08-24 18:06:35 · 179 阅读 · 1 评论 -
窗口坐标,深拷贝与浅拷贝,可复用的事件监听方法,Js的字符串类型,正则表达式的函数使用
窗口坐标1 clientHeight和clientWidth用于描述元素内尺寸,是指 元素内容+内边距 大小,不包括边框(IE下实际包括)、外边距、滚动条部分2 offsetHeight和offsetWidth用于描述元素外尺寸,是指 元素内容+内边距+边框,不包括外边距和滚动条部分3 clientTop和clientLeft返回内边距的边缘和边框的外边缘之间的水平和垂直距离,也就是左,上边框宽度4 offsetTop和offsetLeft表示该元素的左上角(边框外边缘)与已定位的父容器(offse原创 2020-08-23 20:25:29 · 110 阅读 · 0 评论 -
数组,重载和多态,作用域,use strict,Typeof,=== 和 == 和 undefined,匿名函数,宿主对象和原生,变量提升,Attribute和property
变量提升JavaScript 中,函数及变量的声明都将被提升到函数的最顶部。JavaScript 中,变量可以在使用后声明,也就是变量可以先使用再声明。JavaScript 只有声明的变量会提升,初始化的不会匿名函数宿主对象和原生对象内置(Build-in)对象与原生(Naitve)对象的区别在于:前者总是在引擎初始化阶段,就被创建好的对象,是后者的一个子集;而后者包括了一些在运行过程中动态创建的对象。宿主对象不是引擎的原生对象,而是由宿主框架通过某种机制注册到JavaScript引擎中的对象原创 2020-08-22 21:57:24 · 162 阅读 · 0 评论 -
ajax
原生创建ajax的五个步骤代码引自https://www.cnblogs.com/0x29a/p/11231950.html1.创建XMLHttpRequest异步对象var xhr = new XMLHttpRequest()2.设置回调函数xhr.onreadystatechange = callback3.使用open方法与服务器简历连接//get方式xhr.open('get','text.php',true)//post方式,要设置请求头xhr.open('post','t原创 2020-08-22 21:40:02 · 114 阅读 · 0 评论 -
闭包,this,call,apply,bind区别,原型原型链,创建对象的方式,继承,New 一个对象具体做了什么
闭包对闭包的理解函数内部可以直接读取全局变量,但是在函数外部无法读取函数内部的局部变量。闭包就是能够读取其他函数内部变量的函数。内部函数对外部函数的变量有了引用关系——闭包就是这时产生的。每次对外部函数的调用,都会产生一次闭包。实现方法:1 给函数添加一些属性2 声明一个变量,将一个函数当做值赋给变量3 new一个对象,然后给对象添加属性和方法4 var obj={}就是声明一个空的对象用处它的最大用处有两个,一个是前面提到的可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中原创 2020-08-21 21:47:11 · 131 阅读 · 0 评论 -
js类型,事件
js的基本类型,引用类型有哪些,null和undefined的区别基本数据类型:undefined,null,boolean,number,string引用数据类型:function,obiect,arrayUndefined:表示变量声明但未初始化时的值null表示准备用来保存对象,还没有真正保存对象的值。从逻辑角度看,null值表示一个空对象指针。JavaScript(ECMAScript标准)里共有5种基本类型:Undefined, Null, Boolean, Number, String原创 2020-08-21 18:34:46 · 100 阅读 · 0 评论 -
vue中富文本编辑器的使用
首先在vue项目中安装运行依赖vue-quill-editor然后点击查看详情,打开官方文档在项目的main.js中导入富文本编辑器和样式import Vue from 'vue'import VueQuillEditor from 'vue-quill-editor'import 'quill/dist/quill.core.css' // import stylesimport 'quill/dist/quill.snow.css' // for snow themeimport '原创 2020-08-10 20:35:23 · 165 阅读 · 0 评论 -
split与join
splitsplit() 方法用于把一个字符串分割成字符串数组。使用下面的代码,可以把句子分割成单词:var words = sentence.split(' ')循环到数组每一项,用split吧字符串变为数组 res.data.forEach(item=>{ item.attr_vals = item.attr_vals.length===0?[]: item.attr_vals.split(' ') })例:joinjoin() 方法用于把数组中的原创 2020-08-09 17:02:19 · 111 阅读 · 0 评论