JavaScript
文章平均质量分 78
黄治文个人博客
这个作者很懒,什么都没留下…
展开
-
js有关 == 容易出错点
js有关 == 容易出错点前言案例案例解决1. 空字符串和0 相等2. 空数组和0 相等3.空对象和0 不相等前言在js中有关 == 的用法,看起来不难;但是很多细节不注意将很容易出错,而且比其他语言都容易出错。这也是js弱类型语言的特性。案例先来一组简单的,看一下是否遇到过相应的问题console.log("" == 0)//trueconsole.log([] == 0) //trueconsole.log({} == 0) //falseconsole.log(undefined ==原创 2020-07-27 17:14:16 · 505 阅读 · 0 评论 -
vue父子组件数据双向修改方法
vue中父子组件通信中,为了保证数据的单向流动,子组件不能直接修改父组件传进来的值,之前也一直用this.$emit调用父组件方法来修改传入的值。直到要做一个带关闭按钮的弹窗组件时,我才发现了vue的子组件可以不通过this.$emit修改props值。父组件给子组件传递时可以.sync作为修饰符,例如:给子组件传递显示或隐藏的值showImgsilder//父组件<wy-imgsil...原创 2020-03-24 16:13:04 · 737 阅读 · 0 评论 -
vue 使用rsa加密整理
由于安全原因一些敏感信息提交时都需要加密处理,之前一直用MD5加密,一些暴力软件还是可以进行解密,而rsa加密安全性就比较高,它采用前端公钥加密 后台私钥解密。下面就是整个rsa在项目中使用的过程安装npm install jsencrypt使用像这种比较常用的工具基本都提取成工具方法import JSEncrypt from 'jsencrypt';//加密export fun...原创 2020-03-12 11:00:02 · 697 阅读 · 0 评论 -
js闭包通俗解析
开场白对于js来说,闭包可谓时重点和难点,前端面试应该是必问的题,对闭包的理解程度就可以看的出一个前端开发的功底。网上对闭包的文章比比皆是,但是对于初学者来说不是很友好。今天我就考虑一下初学者,毕竟我还算是吧,简单通俗的讲一下js闭包。准备工作要修炼js的闭包功夫,还需要一点其他功力作为功底的。功底一:js的垃圾回收知识 功底二:js的函数执行过程 功底三:js的全局变量和局部...原创 2019-09-27 15:36:52 · 441 阅读 · 0 评论 -
js对call 和apply的理解
之前写过一篇文章js对call的理解过一段时间去读自己还算易懂,但是总感觉是给自己写的,换作别人来读应该很难理解,今天就再次翻译一下。希望能够让更多前端初学者明白面试笔试常考的call和apply。先说call吧,网上很多解释都是call改变了函数的this指向。其实话是这么说,但是不好理解。对于初学者我那分得清怎么改变又指向谁呀。今天就从头仔细讲一下这些。首先咱们先说一下函数就是js的f...原创 2019-09-26 14:29:38 · 149 阅读 · 0 评论 -
js 的if()判断的误区
js的if语句,是把其他数据类型强制转为Boolean类型,其主要常见误区也就是对于js数据类型理解不够深入。首先说一下js的数据类型吧。基本类型:字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol(独一无二[es6增加的])。引用类型:对象(Object)、数组(Array)、函数(Function)。基...原创 2019-09-18 15:51:00 · 5991 阅读 · 0 评论 -
js笔试题之变量连续赋值题
先看一道笔试题:求打印结果 var a = {s:"sss"}; var b = a; a.x = a = {m:"mmm"}; console.log(a.x); console.log(b.x);先不说结果,说一下这个题的两个考点1.连续赋值的拆分2.变量的类型以及它们的堆栈分配下面就一一讲一下这两个点1.连续...原创 2019-04-08 11:59:52 · 354 阅读 · 0 评论 -
百度地图标记在两点间运动
最近做一个公司内部的班车项目,要求实时获取班车的位置,一开始想法就是每隔5s获取班车位置,然后更新班车marker的坐标,做完之后发现,这个班车在地图上是跳动的,需求部门说班车在瞬移~~~^_^~~~,要做连续的运动,就需要让班车在这两点直接做运动效果。缩短请求的间隔时间,很明显不合理。那就去官方文档找相应的marker运动api。找了一通。目前貌似没有直接这样的方法,面向百度编程的思路,又怎能难...原创 2019-03-11 15:18:31 · 1173 阅读 · 1 评论 -
vue 的Event Bus使用
vue项目中的eventbus是解决组件间通信的一个方法,关于组件通信,就是组件A和组件B需要共用一个数据,对于父子组件来说就比较简单,要是兄弟间,兄弟之外的组件要进行通信,官网给出的是vuex,对于使用vuex官网又提出以下建议而这个简单的store模式就是使用eventbus;关于eventbus就是创建一个新的vue实例,把数据需要公用的数据存储在它上面,通过$emi...原创 2019-03-05 13:41:49 · 1845 阅读 · 0 评论 -
用settTimeout()代替setInterval()
曾看到一篇文章里面写道setInterval()有很多弊端:1.setInterval对自己调用的代码是否报错漠不关心。即使调用的代码报错了,它依然会持续的调用下去2.setInterval无视网络延迟。在使用ajax轮询服务器是否有新数据时,必定会有一些人会使用setInterval,然而无论网络状况如何,它都会去一遍又一遍的发送请求,"如果网络状况不良,一个请求发出,还没有返回结果,它会...原创 2019-02-13 10:15:41 · 1819 阅读 · 1 评论 -
js对call的理解
首先call只能被方法引用,一个方法.call(对象),简单理解就做了两件事,网上说的都太复杂了,如下图执行调用的方法 对象1里面的this指向对象2进一步理解这两条需要借助一个例子来function Animal() { this.name="animal"; this.age="15"; this.showName=function(){ c...原创 2019-02-21 17:40:42 · 273 阅读 · 1 评论 -
js的一些知识点整理
js的数据类型以及堆栈(1)基本类型:存放在栈内存中的简单数据段,数据大小确定,内存空间大小可以分配。 6种基本数据类型有Undefined、Null、Boolean、Number 、 String和Symbol,它们是直接按值存放的,所以可以直接访问。(2)引用类型:存放在堆内存中的对象,变量实际保存的是一个指针,这个指针指向另一个位置。每个空间大小不一样,要根据情况开进行特定的分配。...原创 2019-02-28 15:35:45 · 113 阅读 · 0 评论 -
js递归实现数组转化树状结构
最近做一个后台管理系统,左边数据需要从数据库获取,获取出来是一个一维数组,因此需要转化成树状结构,写了一个递归实现数据转化,代码如下: function filterArray(data, parent) { let vm = this; var tree = []; var temp;...原创 2018-10-19 15:53:56 · 15404 阅读 · 3 评论 -
图片预览、压缩、ajax上传
现在网页的图片交互越来越多,对于图片的上传、预览、压缩、裁剪等处理,都很常见,自己也查了很多资料,写了一个很常见的图片上传实例,自己的项目中也经常使用,现在总结一下相关的技术,也供后面参考和改进。具体实现效果如下 相关内容1.图片预览通常上传文件使用input表单来,就是只能显示文件名,现在基本都是通过图片预览,让用户更好的操作。实现预览原理就是将inpu...原创 2018-10-08 08:47:44 · 638 阅读 · 0 评论