- 博客(19)
- 收藏
- 关注
原创 call、apply、bind的用法和区别(总算搞懂了点)
在搞懂这三个的用法和区别前,我们需要知道代码中this的指向问题(毕竟这仨的作用就是强制来改变this的指向)。 this指向的几种情况 1、普通函数调用,this指向全局window 2、对象形式调用其中的函数,this指向该对象 3、构造函数形式调用,this指向该实例对应的构造函数 4、在用call和apply调用时,this指向该方法中传入的第一个参数 1、 function f(){ console.log(this) //Window
2021-08-26 14:39:01 98
原创 关于原型的一些题目
1、 function A(){ } A.prototype.n=1 var b=new A() A.prototype={ n:2, m:3 } var c=new A() console.log(c.n, c.m) //2 3 console.log(b.n, b.m)
2021-08-16 16:44:31 134
原创 变量值交换
比较不常见的变量值交换 最常见的变量值交换就是新建一个临时变量作为中间变量进行两个变量之间的交换。 在上网搜索时,发现了许多不需要第三方就可以直接实现的变量交换方式 ES6中常用的方式 var a=2, b=3; [a,b]=[b,a] //a=3,b=2 利用数组和运算符优先级结合的方式 var a=2, b=3; a=[b,b=a][0] //等号的优先级高一些,所以先处理b=a,在处理数组 。。。。。。以后遇到其他的方式再接着更新 ...
2021-08-10 09:54:15 97
原创 使用echarts雷达图 增加legend并使图例颜色和serise中的线条颜色相对应
增加legend图例 var name = ['声压比', '谐波比', '高频比', '复杂度', '异常抗性', '健康分']; legend: { left:'right', top:'top', orient:'vertical', textStyle:{
2021-08-10 08:56:14 2884
原创 连等号定义变量
连等号定义变量时,一个是变量符定义,一个是全局定义 let a=b=2; /* 等价于: let a=2; b=2; */ let a=1, b=1; function x(){ let a=b=2; //a是函数的私有变量,而b是全局的变量对象 console.log(a,b) //2,2 } console.log(a,b) //1,2 ...
2021-08-06 09:50:05 335
原创 DOM元素的增、删、改操作方法
DOM元素的增加、删除和修改方法 创建元素:document.createElement([标签名]) 增加 1)[container].appendChild() 将元素动态插入到指定容器中 2)
2021-08-05 10:23:54 166
原创 DOM元素节点方法
获取父亲节点:(node). parentNode 获取所有父节点:(node).offsetParent 获取所有子节点:(node).childNodes 集合形式返回 获取所有子节点:(node).children[] 数组形式返回 获取第一个节点:(node).firstChild (包括空格和文本) 获取第一个元素节点:(node).firstElementChild (仅包括元素) 获取最后一个节点:(node).lastChild 获取最后一个元素节点:(node).lastElem.
2021-08-05 09:58:48 81
原创 获取地址栏中的参数
获取地址栏中的参数 <script> //需要获取该字符串中问好后面和井号后面的值 //http://www.zhufengpeixun.cn/?lx=1&name=JS&from=baidu#video // 1、先获取问号和井号(通过索引找到。一般字符串想要找到某一个字符,都是通过indexOf找到其索引,再找到值) function queryURLParams(url){ let q
2021-08-02 14:32:37 308
原创 关于字符串中的常用方法
查找或截取字符串中的某些元素 1、substr(n,m):从索引为n的字符开始,截取m个字符。 2、substring(n,m):从索引为n的字符开始,到索引为m的字符结束(不包括m)。其中n和m的值不能为负,只能是正数 3、slice(n,m):从索引为n的字符开始,到索引为m的字符结束(不包括m)。其n和m的值可以为正,也可以为负,为负则代表从后往前找。 验证字符串中是否包含某一个元素 1、indexOf([value]):找到该元素第一次出现的位置...
2021-07-30 15:37:44 109
原创 记录一下数组中常用的内置方法
数组的增删改方法 1、push():在数组的末尾追加(新添),返回值为数组的长度,改变原始数组长度 2、pop():删除数组中的最后一项,返回值为删除的那项值,改变原始数组 3、shift():删除数组中的第一项,返回值为删除的那项值,改变原始数组 4、unshift():在数组中的第一项插入新的值,返回值为新的数组,改变原始长度 5、splice()自己即可实现增删改操作 1)splice(n,m) :从数...
2021-07-29 14:44:18 237
原创 选项卡中for循环点击事件的index问题
html代码: js代码 在使用for循环给每个li绑定事件时,无论点击哪个li,i的值都为循环结束后的值,因此,采用定义自定义属性值解决。在循环时,每一个liList都是一个类数组,其中包含许多内置对象,因此也可以设置自定义属性值作为其内置对象的一部分。这样在调用函数并传递参数时,就是将当前点击的li中的index值传递过去。 当然,将循环中的var直接改为let即可避免这种问题的出现。(这个问题我也不是很懂为什么,好像是作用域的问题) 这个k的打印结果就是0,1,...
2021-07-28 15:47:42 315
原创 vue项目中的登录功能实现
今天找了个开源的vue项目,要在此基础上改动,刚看到登录功能,封装的挺好,记录下,顺便捋捋思路,方便以后使用 1、界面部分,就正常的登录界面,把重点的代码贴上(红色箭头是登录事件) 2、js部分:输入用户名和密码,点击登录按钮后,触发this.throttleLogin方法,在此设置了一个节流函数throttle,此函数参数主要为调用的函数方法以及规定时间内仅触发一次。 节流函数 3、调用了this.login方法,在此方法中,将api请求封装到单独的模块中,该vue页面引用...
2021-07-23 10:13:38 1709
原创 js数据类型
1、基本数据类型 数字(number)、空(null)、未定义(undefined)、布尔(boolean)、字符串(string)、symbol(ES6新增的) 2、引用数据类型 对象数据类型(日期对象new Date()、数组[]、对象{}、数学公式Math()....) 函数数据类型 function(){} ...
2021-07-15 16:34:26 50
原创 微信小程序父子传值的个人总结
所有的前提:一定要建立好组件文件 一、父向子传值 1、父组件引入子组件并在wxml页面中使用,利用标签属性将需要传递的数据进行赋值(前提须在父页面的js文件中定义好数据) 2、子组件在自己的js文件中定义父组件的数据类型,然后再页面中即可正常使用。 父组件的json中(引入子组件) 父组件的js中(定义数据) 父组件的wxml中(传递数据) 子组件的js中 子组件的wxml中 ...
2021-07-13 11:25:38 154
原创 2021.07.08(微信小程序引入echart)
1、进入github地址:https://github.com/ecomfe/echarts-for-weixin,下载到本地 2、将ec-canvas文件夹拷贝到自己的项目根目录下 3、打开需要引入echarts的页面 4、配置 (1)在index.json中加入 "usingComponents":{ "ec-canvas":"../../ec-canvas/ec-canvas" } (2)index.js中 import*asechartsfrom...
2021-07-08 17:20:42 145
原创 2021.07.07
1、var、let、const之间的区别 (1)作用域:var是函数作用域,let和const是块级作用域 (2)修改值:var和let都可以对值进行修改,而const不能修改值(如果变量是一个数组或是对象即可修改) (3)循环:由上图循环可知,由于setTimeOut是异步操作,需要等for循环结束后才能执行,因此每次打印的结果都是4;而let由于是块级作用域,每循环一次就保存一次变量i的值,因此结束循环时打印结果为0、1、2、3;使用const定义变量i会报错,因为其值不可修改。
2021-07-07 09:21:43 95
原创 2021.07.06
1、逻辑或(||) 项目中出现这样一行代码,||还有赋值的意思 例如:var c=a || b,a为真时,c为a的值,否则就是b的值
2021-07-06 10:08:06 59
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人