前端
JTz666666
但愿所有的努力都不会白费~
展开
-
js-this指向
this在函数中直接调用function get(content){ console.log(content)}get("您好")//另一种语法糖get.call(window,"halou")函数作为对象的方法被调用(谁调用我 我就指向谁)var person={ name:"张三", run:function(time){ console.log(`${this.name} 在跑步 最多 ${time}min不行了`); }}per原创 2021-06-10 21:54:52 · 118 阅读 · 0 评论 -
前端学习之路-js-预编译
作用域的创建阶段 预编译的阶段js在执行的过程中会先扫描一下整体的语法语句,如果出现逻辑错误或者语法错误,直接报错,货值停止执行,没有错误,会从上到下一行一行执行。js的预编译对象和ao对象在执行函数的时候会提前创建一个ao对象1、创建ao对象(在执行fn函数之前会创建一个ao对象)ao{}2、找形参和变量的声明(将函数内的所有的形参和变量声明储存到ao对象中,value值为undefined)ao{a:undefinedc:undefinedd:undefinedb:undefi原创 2021-06-10 12:47:21 · 174 阅读 · 0 评论 -
前端排序算法实现——JS快速排序
其实快速排序很简单,只是对冒泡排序的一种改进。快速排序的步骤:1、找到数组的中间项,并把它移除2、准备左右两个新数组,循环数组剩下的每一项,比中间数小的,放左边的数组中,比中间数大的放右边的数组中3、以递归的方式将左右两边的数组持续这样处理,一直到左右两个数组都排好序为止,然后拼接(concat)简单画了张图可能会更好理解一些:话不多说,放代码: //创建一个快速排序的数组 ...原创 2020-02-11 12:05:23 · 779 阅读 · 0 评论 -
前端排序算法实现——JS插入排序
插入排序其实和玩牌很简单,在玩牌的时候,我们会自己给抓到的牌排个序,从小到大的顺序,如果新抓的那个牌比当前手里的牌小,会插到这张牌的前面其实可以总结为一句话:只要会玩牌,就会插入排序下面我画了张图,可以会更好理解:话不多说,放代码: //创建一个插入函数 function insert(ary){ //创建一个新数组来 le...原创 2020-02-09 20:36:23 · 240 阅读 · 1 评论 -
前端排序算法实现——JS冒泡排序
其实,冒泡排序的思想就是:让数组中的当前项和后一项进行比较,如果当前项比后一项大,则两项交换位置(让大的靠后)即可,直到最后变为从小到大下面我放张我自己画的图可能会更好理解一下:(…并不是所有的数组都进行一轮判断,下图只是个例外,正常的话第一轮判断结束后数组不是从小到大排序的)下面话不多说,放代码啦: //创建个函数来判断 function bubble(arr){...原创 2020-02-08 20:54:21 · 656 阅读 · 0 评论 -
Vue的计算属性缓存computed和methods的区别
computed和methods的区别计算属性在处理一些复杂逻辑时是很有用的,当页面需要渲染的时候,计算属性不会发生变化,直接读取使用,适合较大的计算和改变频率较低的属性如果是methods的话,会造成性能的影响就拿一个简单的字符串反转例子来说吧: <div id="app"> <p>原本的字符串{{name}}</p> <...原创 2020-02-03 18:50:49 · 295 阅读 · 0 评论 -
【ES6系列】——箭头函数
箭头函数其实是函数的一个量化,功能和之前的函数一样,不过更加灵活而已,而且箭头函数的语法要更简洁,并且没有自己的this,arguments,super或new.target。基础语法:(参数1, 参数2, …, 参数N) => { 函数声明 }我们之前创建一个函数的时候是: let sum=function(num1,num2){ return num...原创 2020-02-02 19:57:41 · 312 阅读 · 0 评论 -
【js总结】——数组中的常用方法
首先,我们先创建一个数组var arr=[100,200,300,400]isArray() 主要判断变量是否是一个js数组,返回的是一个布尔值var arr=[100,200,300,400]console.log(Array.isArray(arr))返回结果为:push方法 在数组的末尾添加元素,并返回新的数组长度。原数组改变。var arr=[100,200,300,4...原创 2020-02-02 13:34:02 · 328 阅读 · 0 评论 -
【前端学习之路】——ES6新增属性set
set的特点set的基本使用方法类似于数组,不过和数组有一点不同的是,set集合里是没有重复数据的。首先,我们先来创建一个集合并输出一下: let set=new Set(["张三","李四","王五"]) console.log(set)输出的结果是:当我们在集合中添加重复的元素时: let set=new Set(["张三","李四","王五","张三","...原创 2020-02-02 12:22:51 · 280 阅读 · 0 评论 -
js的引用数据类型——阿里面试题
js数据类型分为:基本数据类型(值类型)1、number2、string3、布尔值4、null5、undefind引用数据类型1、obj2、function下面做一道类似于阿里的面试题,原题不是这样,但是意思跟这个一样。 let a ={ x:100 } let b={ y:200 }...原创 2020-02-01 16:29:17 · 525 阅读 · 0 评论 -
js的自定义构造函数和工厂模式的区别
使用自定义构造函数创建对象 function Person(name,age){ this.name=name; this.age=age; this.play=function(){ console.log("hhh") } } //创建对象-----对对象进行初始化 var per=new Person("小红",17)...原创 2020-02-01 13:15:35 · 1609 阅读 · 1 评论 -
JS中的var和let的区别
ES6 新增了let命令,用来声明局部变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效,而且有暂时性死区的约束。let和var之间一共有4处区别:01-作用域只局限于当前代码块02-使用let生命的变量作用域不会被提升03-在相同作用域下不能声明相同的变量04-for循环体现let的父子作用域我们会做几个例子来验证这这四处不同:在这之前我们需要布局一下页...原创 2020-01-31 20:12:51 · 1961 阅读 · 0 评论 -
【前端学习之路】——去使用vue.js来编写一个简单的计算器
使用vue.js来编写一个简单的计算器效果如图所示:是一个十分简单的计算器,包含了加减乘除,不是用原生js写的,而是用vue.js写的html:<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> </head>...原创 2020-01-28 15:03:29 · 621 阅读 · 0 评论 -
【前端学习之路】——Vue生命周期
生命周期:一个组件从创建到销毁的这个过程叫做生命周期(钩子函数)其实从官网的生命周期的图例就可以看出来,生命周期分八个阶段分别为:beforeCreate,created,beforeMount,mounted,beforeUpdate,updated,beforeDestory,destroyed接下来,我们就一个阶段一个阶段的尝试,实验并且理解。在开始之前,我们需要先搭建一个实例的模板...原创 2020-01-30 14:57:47 · 293 阅读 · 0 评论 -
【前端学习之路】——使用jQuery制作放大镜
效果如图所示:可根据选择切换至上一张下一张话不多说,放代码:<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title></title> <style> #small{ width: 250px; heigh...原创 2020-01-31 15:34:21 · 275 阅读 · 0 评论