- 博客(18)
- 收藏
- 关注
原创 javaScript如何创建一个长度为任意值的数组并且数组元素为下标值的平方根
用到技术有:Array.from() new Array() Array.map() Array.forEach()Array.from()Array.from() 称为类数组对象:所谓类数组对象,最基本的要求就是具有length属性的对象。就是将一个类数组对象或者可遍历对象转换成一个真正的数组。new Array() 实例的创建,如果知道数组的长度,这里假设数组长度为30,那么就可以这样写 new Array(30)Array.map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处
2020-10-12 00:57:04
684
原创 v-for与v-if优先级及怎么优化不绑定在同一个元素上
因为v-for优先级比v-if高,如果每一次都需要遍历整个数组,将会影响渲染速度。这个时候可以通过Vue中计算属性compute属性计算过滤出当前需要的数据,也可以通过在上绑定v-if,内部绑定v-for。v-for和v-if同用在一个元素上: <li v-for="test in tests" v-if="test.isActive" :key="test.id" > {{ test.name }}.
2020-09-14 23:44:24
210
转载 javaScript中addEventListener()用法
addEventListener() 方法用于向指定元素添加事件测试```document.querySelector('#test').addEventListener('click',()=>{console.log('test click')},false)```document.addEventListener(event, function, useCapture)第一个参数参数event必须。字符串,指定事件名。注意: 不要使用 “on” 前缀。 例如,使用 “
2020-09-12 01:23:39
1028
原创 javaScript隐式转换toString和valueOf
toString()数组var arr = [1,2,3,4]arr.toString()// "1,2,3,4"对象var obj = {}obj.tostring()// "[object,object]"函数var fn = function () {}fn.toString()//"function () {}"字符串var str = ""str.toString()//""负责处理非字符串到字符串的强制转换,将对象强制类型转换为stri
2020-07-30 01:08:41
464
原创 javaScript中的宏任务与微任务执行顺序
宏任务:是指消息队列中的等待被主线程执行的事件,宏任务执行时都会重新创建栈,然后调用宏任务中的函数,栈也会随着变化,但宏任务执行结束时,栈也会随之销毁。包括整体代码script,setTimeout,setInterval new Promise*微任务:可以把微任务看成是一个需要异步执行的函数,执行时机是在主函数执行结束之后、当前宏任务结束之前Promise.then,process.nextTick(node中)*。微任务是基于消息队列、事件循环、UI 主线程还有堆栈而来的
2020-07-11 01:05:34
3449
1
原创 javaScript中深拷贝和浅拷贝
深拷贝和浅考都是对复杂对象的操作var obj = { name: "zhangsan" age: ["26","30"] person:{ man:"26", }}深拷贝另外在堆内存中占用一块单独堆内存存放数据,内容和原来的对象一样,更改原来的对象,深拷贝的对象不会改变。实现深拷贝用得比较多的方法是 JSON.parse(JSON.stringify())var obj = { nama: 'zhangsan', .
2020-07-08 01:04:08
123
原创 什么是javaScript高阶函数
高阶函数是对其他函数进行操作的函数,可以将它们作为参数或返回它们。简单来说,高阶函数是一个函数,它接收函数作为参数或将函数作为输出返回。var arr =[1,2,3,4,5]var arr1 = []for(let i = 0;i < arr.length;i++){ arr1.push(arr[i] * 3)}console.log(arr1) //[3,6,9,12,15]//高阶函数const arr2 = arr.map(function(item,index,ar.
2020-07-03 01:19:26
417
原创 javaScript中函数式编程与命令式编程的可靠性和可复用性
命令式编程var arr = [1, 2, 3, 4]var newArr = (arr) => { const res = [] for (let i = 0; i < arr.length; i++) { res.push(arr[i] + 1) } return res}console.log(newArr(arr)) //[2,3,4,5]命令式编程,详细的命令机器去处理事情来达到想要得到的结果,这段代码是”死“的,代码是不可复用,如果增加需求或者改变需求 .
2020-06-30 00:02:03
115
原创 javaScript中数组扩展
Array.from用于将两类对象转化成真正的数组let Like = { '0':'a', '1':'b', '2':'c'}var arr = Array.from(Like)console.log(arr)(…)扩展运算符也可以把一些数据结构转为数组*Array.from还可接受第二个参数,用来对每个元素进行处理,将处理过的值放入原数组let Like = [1,2,3]var arr2 = Array.from(Like,(x) =>x *.
2020-06-27 21:35:36
131
原创 Vue中事件修饰符
.once<div v-on:click.once = "spread"></div>点击事件只会触发一次。.prevent<div v-on:submit.prevent = "spread"></div>某些标签拥有自身的默认事件,如 a[href="#"],button[type=“submit”] 这种标签在冒泡结束后会开始执行默认事件,提交事件不再重新加载页面。.stop<div v-on:click.st.
2020-06-22 23:18:21
65
原创 vue中小小知识点解析
还是写作小白,大佬看到勿喷,还请不吝赐教!数据绑定数据绑定最常见的形式就是使用 {{…}}(双大括号)的文本插值: <h3>{{ comment }}</h3><script>new Vue({ el: '#app', data: { comment: '加辣' }})</script>循环语句用 v-for 指令v-for 指令需要以 site in sites 形式的特殊语法, sites 是源数据数组并且.
2020-06-22 23:16:52
77
原创 怎么判断0.1+0.2和0.3相等
怎么判断 0.1+0.2 和 0.3 是否相等?没想到在一家公司面试中遇到这个题,还好本人是在学习《你不知道的javaScript中卷》一书中看到这种方法,所以把他写下来,希望对刚好需要它的码友有一点点帮助。最常见的就是设置一个误差范围值,通常称之为“及其精度”(machine epsilon),对于 javaScript 来说,这个值通常是 2^-52(2.220446049250313e-16)。该值定义在 ES6 Number.EPSILON 中,可以直接使用function number
2020-06-21 00:26:14
347
原创 javaScript中数组去重方法(学习,开发中经常用到)
Setvar arr = [1,1,2,2,3,4,5,5,6,6,7,8,8,7]function Arr(arr){ return Array.from(new Set(arr))}console.log(Arr(arr))*[1,2,3,4,5,6,7,8]*indexofvar arr = [1,1,36,36,23,23,45,45]function Arr(arr){ if(!Array.isArray(arr)){ console.l.
2020-06-19 00:21:57
51
原创 ES6添加的新特性
自己开发中遇到次数相对较多的 ES6 新特性,小小总结一下,大佬勿喷,还请多多指教。定义变量 let 和 constletlet 声明的变量不具备变量提升let 用于声明局部变量,是块级作用域let 不允许重复声明的紧紧是全局变量和 window 没有声明关系通常用得多的是在 for 循环中var arr = [1,2,3,45,]for(let i = 0; i < arr.length;i++){ console.log(arr[i])}constconst 声明
2020-06-17 23:54:34
86
转载 Vue中watch和computed区别
computed计算属性:<div id="app"> <input type="text" v-model="name" /> <input type="text" v-model="newName" /> <input type="text" v-model="groupName" /> </div> <script src="../js/vue.js"></script> <scr
2020-06-15 22:02:05
105
原创 如何用apply实现call方法
怎么用apply实现call方法Function.prototype.maCall = function(...arg) { const content = arg.splice(0,1) this.apply(content,[...arg])}function test (a,b){ console.log(a+b)}test.maCall(null,10,20)
2020-06-14 22:09:10
81
原创 如何搭建一个Vue项目
首先,如果没有安装Node.js情况下先去Node.js官网下载安装Node.jshttps://nodejs.org/en/安装时直接安装在目录里面就行,安装完成时打开命令行输入npm -v查看当前Node.js版本看是否已经安装成功。2. Node.js安装成功以后就用操作命令安装Vue-cli脚手架# 最新稳定版npm install vue安装完会返回whdeMac-mini:project windy$ npm install vue+ vue@2.6.11upda.
2020-06-13 23:38:51
341
原创 一篇简单的函数自我认知
javaScript中的函数如果你熟悉了一门其他流行语言,再来使用 JavaScript,那么JavaScript中的函数可能会给你造成一些误解,在JavaScript中,你可以将一个函数赋值给一个变量,还可以将函数作为一个参数传递给另外一个函数,甚至可以使得一个函数返回另外一个函数,这在一些主流语言中都很难实现。JavaScript 中的函数非常灵活,其根本原因在于JavaScript中的函数就是一种特殊的对象,把JavaScript中的函数称为一等公民(First Class Function),因
2020-06-13 23:33:47
122
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人