js笔记
SoloTravelerHQ
想向大佬学习
展开
-
JS实现键盘控制div全方位移动
JS实现键盘控制div全方位移动创建onkeydown的全局响应事件,给div设置加速度,并控制div开始移动。创建定时器控制div持续移动,这样可以防止div移动的卡顿现象。创建onkeyup的全局响应事件,控制div停止移动。div移动的卡顿现象是由于在按下键盘时,系统需要区分用户是否是持续输入,这个过程就会出现短暂的卡顿,用定时器可以巧妙的避免。完整代码:<style lang="css"> #box1{ width: 100px;原创 2022-01-13 14:49:37 · 958 阅读 · 2 评论 -
JS实现鼠标拖拽功能
JS实现鼠标拖拽功能创建鼠标点下的元素对象的响应事件函数(onmousedown)。计算鼠标位置和所点击元素偏移量的差值;如果不这样做,就会出现如下现象。即元素的左上角会直接定位在鼠标上。在onmousedown内创建鼠标移动的全局响应事件函数(onmousemove)。在onmousedown内创建鼠标松开的全局响应事件函数(onmouseup)。完整代码:注:必须给元素加上position属性<style lang="css"> #box1{ w原创 2022-01-10 13:07:35 · 1339 阅读 · 0 评论 -
JS与数组相关的12个方法
JS数组相关的方法文章目录JS数组相关的方法1、push()2、pop()3、unshift()4、shift()5、slice()6、splice()7、concat()8、join()9、reverse()10、sort()1、push()push()方法向数组的末尾添加新的元素,并返回新的数组长度,会改变原数组。var arr = [1, 2, 3];arr.push(4);console.log(arr);[1, 2, 3, 4]2、pop()pop()方法删除数组最末尾的元素原创 2021-12-26 20:24:54 · 584 阅读 · 0 评论 -
JS原型对象
JS原型对象我们所创建的每一个函数,解析器都会向函数中添加一个属性prototype,这个属性对应着一个对象,这个对象就是所谓的原型对象。而prototype属性会指向该函数原型对象。如果函数作为普通函数调用时,prototype没有什么用处;当函数作为构造函数调用时,这个构造函数所创建的对象都会有一个隐含的属性__proto__,该属性会指向该构造函数的原型函数,如图所示很容易看出,原型对象相当于一个公共区域,所有同一个类的实例都可以访问到这个对象。现在我们创建一个构造函数,该函数有如下属性和原创 2021-12-25 17:57:59 · 272 阅读 · 0 评论 -
js基础this的指向问题
js基础this的指向解析器在调用函数,每次都会向函数内部传递进一个隐含参数,这个参数就是this,this指向的是一个对象。这个对象我们称为上下文对象,根据函数的调用方式不同,this会指向不同的对象。主要有以下三种情况:1、以函数形式调用时,this指向windowfunction fun(){ console.log(this);}//this指向window对象fun();输出:2、以方法调用时,谁调用方法this就指向谁function fun(){ con原创 2021-12-25 15:15:50 · 478 阅读 · 0 评论 -
js变量在内存中的存储
js中的变量都是保存在栈内存中的对于基本数据类型(String、Number等)来说,值是直接保存在栈内存里的如下图:而对于引用数据类型(Object)来说,在new了一个对象后,就会在堆内存中创建一个空间,其在栈内存中的值是堆内存中该空间的地址值。如下图:所以在进行对象的增删改和比较时,要注意他们是不是一个地址值,即是不是同一个对象。如下图,虽然定义的两个对象设置的name值一模一样,但是他们的地址不一样,所以在比较obj == obj2 时返回的是false...原创 2021-11-19 17:13:34 · 1694 阅读 · 0 评论 -
js关系运算符及==和===的区别
js关系运算符非数值的比较//1、对于非数值比较时,会将其先转换为数值,再进行比较var a = 1 > "2";console.log(a);//a = falsevar a = "2" > 12;console.log(a);//a = falsevar a = "2" > 12;console.log(a);//a = false//2、如果符号两边都是字符串,则比较他们的Unicode编码var a = "a" > "b";//a的Unicode编码是97,原创 2021-11-18 22:20:35 · 297 阅读 · 0 评论 -
js非布尔值的“与”,“或”运算
js非布尔值的“与”,“或”运算1、非布尔值的“与”运算//非布尔值的与运算是短路的,即在判断第一个为false后,就不会再判断第二个var a = 123 && 0;console.log(a);//a = 123var a = 0 && 123;console.log(a);//a = 0;第一个为0,直接返回,不再判断123var a = NaN && 0;console.log(a);//a = NaN2、非布尔值的“或”运算//原创 2021-11-18 22:18:02 · 179 阅读 · 0 评论 -
js数据类型之间的转换
文章目录数据类型数据类型转换一、其他类型转Sting二、其他类型转Number三、其他类型转Boolean数据类型1、js中的数据类型有有种分别是:String、Number、Null、Undefined、Boolean、Object。2、其中String、Number、Null、Undefined、Boolean为基本数据类型,Object为引用数据类型3、Number包括整数和浮点数,其中Infiniti表示正无穷,NaN表示不是一个number,这两个也是Number类型。4、js中对原创 2021-11-18 12:25:36 · 527 阅读 · 0 评论 -
js标识符
标识符1、标识符中可以含有字母、数字、$、_2、标识符不能以数字开头3、标识符不能识js中的关键字和保留字4、标识符一般采用驼峰命名5、js底层保存标识符实际上是采用Unicode编码,所以理论上讲,所有的utf-8中国含有的内容都可作为标识符。...原创 2021-11-18 12:24:41 · 740 阅读 · 0 评论 -
JS将json数据导出为csv表格
JS将json数据导出为csv表格该方法只适合数据量不大的情况代码:function tableToExcel(){//要导出的json数据,数组格式var jsonData = [{name:'路人甲',phone:'123456789',email:'000@123456.com'},{name:'炮灰乙',phone:'123456789',email:'000@123456.com'},{name:'土匪丙',phone:'123456789',email:'0转载 2021-11-05 21:28:13 · 1197 阅读 · 3 评论 -
js格式化时间函数
js格式化时间函数函数出处已经无从追溯,作为收藏,方便以后用。函数:直接粘贴复制就可以用Date.prototype.format = function (format) { var date = { "M+": this.getMonth() + 1, "d+": this.getDate(), "h+": this.getHours(), "m+": this.getMinutes(), "s+": this.转载 2021-11-05 21:18:49 · 298 阅读 · 0 评论