随笔分类 -  JS

JS模块化开发
摘要:在JavaScript发展初期就是为了实现简单的页面交互逻辑,寥寥数语即可;如今CPU、浏览器性能得到了极大的提升,很多页面逻辑迁移到了客户端(表单验证等),随着web2.0时代的到来,Ajax技术得到广泛应用,jQuery等前端库层出不穷,前端代码日益膨胀 这时候JavaScript作为嵌入式的脚 阅读全文

posted @ 2018-12-19 14:38 ranyonsue 阅读(3645) 评论(0) 推荐(2) 编辑

前端路由的实现方式
摘要:前端路由与单页页面 路由就是指随着浏览器地址栏的变化,展示给用户的页面也不相同。 传统的网页根据用户访问的不同的地址,浏览器从服务器获取对应页面的内容展示给用户。这样造成服务器压力比较大,而且用户访问速度也比较慢。在这种场景下,出现了单页应用。 单页应用,就是只有一个页面,用户访问一个网址,服务器返 阅读全文

posted @ 2018-12-13 18:16 ranyonsue 阅读(1505) 评论(0) 推荐(2) 编辑

移动端实现弹出框渐显和渐隐效果
摘要:在移动端想实现一个弹出框渐渐出现和消失的效果。由于用的是vue.js,所以写法有些独特,用变量控制是否显示类名。但是核心解决方法就是CSS3的animation属性应用还有CSS中的z-index应用,必须初始化定义让弹出框在最底部。还有就是opacity属性的应用,这样才有渐健弹出和渐渐消失的效果 阅读全文

posted @ 2018-12-03 17:44 ranyonsue 阅读(1666) 评论(0) 推荐(0) 编辑

前端实现手机相册或照相预览图片及压缩图片的方法
摘要:总体思路是: 1、FileReader.readAsDataURL将上传的图片文件转为Base64格式 2、将img绘制到canvas上,canvas.toDataURL压缩图片 3、new Blob将压缩后的Base64转为Blob格式 4、FormData.append将图片文件数据存入form 阅读全文

posted @ 2018-11-27 16:58 ranyonsue 阅读(648) 评论(0) 推荐(0) 编辑

js按照特定的中文字进行排序的方法
摘要:之前遇到过按照中文字符排序的需求很顺利的解决了,这次是按照特定的中文字进行排序,比如按照保守型,稳健型,平衡型,成长型,进取型进行排序。 可以使用localeCompare() 方法来实现中文按照拼音排序,方法相当简单 var array = ['成长型','稳健型','保守型','稳健型','成长 阅读全文

posted @ 2018-11-22 14:46 ranyonsue 阅读(1529) 评论(0) 推荐(0) 编辑

focus()无效问题
摘要:我想点击弹出一个控件的时候控件里的input自动获取焦点,INPUT的class为"group-input",可用下面的写法不行: document.queryselect(".group-input ").focus() 最后用定时器可以解决这个问题,代码如下: setTimeout("docum 阅读全文

posted @ 2018-11-21 17:08 ranyonsue 阅读(3027) 评论(0) 推荐(0) 编辑

写了12年JS也未必全了解的连续赋值运算
摘要:引子 var a = {n:1}; var b = a; // 持有a,以回查 a.x = a = {n:2}; alert(a.x);// --> undefined alert(b.x);// --> {n:2} 请问结果为何是这样? 连等赋值的赋值顺序 假设有一句代码: A=B=C; ,赋值语 阅读全文

posted @ 2018-11-12 16:46 ranyonsue 阅读(329) 评论(0) 推荐(0) 编辑

JavaScript 浮点数运算的精度问题
摘要:问题描述 在 JavaScript 中整数和浮点数都属于 Number 数据类型,所有数字都是以 64 位浮点数形式储存,即便整数也是如此。 所以我们在打印 1.00 这样的浮点数的结果是 1 而非 1.00 。在一些特殊的数值表示中,例如金额,这样看上去有点变扭,但是至少值是正确了。然而要命的是, 阅读全文

posted @ 2018-11-01 18:24 ranyonsue 阅读(1281) 评论(0) 推荐(1) 编辑

js如何判断对象是否为空
摘要:1.将json对象转化为json字符串,再判断该字符串是否为"{}" var data = {}; var b = (JSON.stringify(data) == "{}"); alert(b);//true 2.for in 循环判断 var obj = {}; var b = function 阅读全文

posted @ 2018-10-30 14:42 ranyonsue 阅读(1718) 评论(0) 推荐(0) 编辑

虚拟DOM详解
摘要:React为啥这么大?因为它实现了一个虚拟DOM(Virtual DOM)。虚拟DOM是干什么的?这就要从浏览器本身讲起。 如我们所知,在浏览器渲染网页的过程中,加载到HTML文档后,会将文档解析并构建DOM树,然后将其与解析CSS生成的CSSOM树一起结合产生爱的结晶——RenderObject树 阅读全文

posted @ 2018-10-22 17:37 ranyonsue 阅读(9651) 评论(0) 推荐(3) 编辑

懒加载和预加载
摘要:1、懒加载 1.什么是懒加载? 懒加载也就是延迟加载。 当访问一个页面的时候,先把img元素或是其他元素的背景图片路径替换成一张大小为1*1px图片的路径(这样就只需请求一次,俗称占位图),只有当图片出现在浏览器的可视区域内时,才设置图片正真的路径,让图片显示出来。这就是图片懒加载。 2.为什么要使 阅读全文

posted @ 2018-09-28 15:18 ranyonsue 阅读(1869) 评论(1) 推荐(0) 编辑

JavaScript对象数组根据某属性sort升降序排序
摘要:1、自定义一个比较器,其参数为待排序的属性。 2、将带参数的比较器传入sort()。 var data = [ {name: "Bruce", age: 23, id: 16, score: 80}, {name: "Alice", age: 24, id: 12, score: 90}, {nam 阅读全文

posted @ 2018-09-21 18:04 ranyonsue 阅读(1198) 评论(0) 推荐(0) 编辑

原生javascript实现回到顶部平滑滚动
摘要:function rt() { var d = document, dd = document.documentElement, db = document.body, top = dd.scrollTop || db.scrollTop, step = Math.floor(top / 20); 阅读全文

posted @ 2018-08-21 15:05 ranyonsue 阅读(990) 评论(0) 推荐(0) 编辑

彻底理解js中的&&和||
摘要:阅读代码时对一行代码很困惑 step > max_step && (step = min_step); 查阅资料后发现它等价于 if (step > max_step) { step = min_step; } js中的&&和||本质是什么呢? && 和 || 的作用只有一个(定义): 进行布尔值的 阅读全文

posted @ 2018-07-16 16:00 ranyonsue 阅读(5792) 评论(0) 推荐(3) 编辑

原生javascript实现extend
摘要:var obj1 = {'a': 'obj2','b':'2'}; var obj2 = {name: 'obj3'}; function extend() { var length = arguments.length; var target = arguments[0] || {}; if (t 阅读全文

posted @ 2018-07-13 15:53 ranyonsue 阅读(503) 评论(0) 推荐(0) 编辑

定时器 setTimeout()超时调用和 setInterval()间歇调用
摘要:JavaScript是单线程语言,但它允许通过设置定时器,也就是设置超时值和间歇时间来调度代码在特定的时刻执行。前者是在指定的时间过后执行代码,而后者则是每隔指定的时间就执行一次代码。 超时调用需要使用window对象的setTimeout()方法,他接受两个参数:要执行的代码和以毫秒表示的时间。其 阅读全文

posted @ 2018-07-11 17:34 ranyonsue 阅读(1506) 评论(0) 推荐(0) 编辑

JavaScript中浅拷贝和深拷贝的区别和实现
摘要:深拷贝和浅拷贝的区别 浅拷贝(shallow copy):只复制指向某个对象的指针,而不复制对象本身,新旧对象共享一块内存; 深拷贝(deep copy):复制并创建一个一摸一样的对象,不共享内存,修改新对象,旧对象保持不变。 var a = 25; var b = a; b = 10; conso 阅读全文

posted @ 2018-07-10 09:56 ranyonsue 阅读(365) 评论(0) 推荐(0) 编辑

JavaScript中的栈内存和堆内存
摘要:首先JavaScript中的变量分为基本类型和引用类型。基本类型就是保存在栈内存中的简单数据段,而引用类型指的是那些保存在堆内存中的对象。 1、基本类型 基本类型有Undefined、Null、Boolean、Number 和String。这些类型在内存中分别占有固定大小的空间,他们的值保存在栈空间 阅读全文

posted @ 2018-07-09 15:34 ranyonsue 阅读(296) 评论(0) 推荐(0) 编辑

img的complete和onload
摘要:HTML DOM complete 属性 定义和用法: complete 属性可返回浏览器是否已完成对图像的加载。 如果加载完成,则返回 true,否则返回 fasle。 语法: imageObject.complete Image onload 事件 定义和用法: onload 事件在图片加载完成 阅读全文

posted @ 2018-07-02 16:54 ranyonsue 阅读(1995) 评论(0) 推荐(0) 编辑

使用readAsDataURL方法预览图片
摘要:使用FileReader接口的readAsDataURL方法实现图片的预览。 在FileReader出现之前,前端的图片预览是这样实现的:把本地图片上传到服务器,服务器把图片地址返回,并把它替换到图片元素的src属性。 这种方法的缺点是:必须要先把图片上传到服务器。那么问题来了,如果上传的图片很大, 阅读全文

posted @ 2018-06-27 18:29 ranyonsue 阅读(2312) 评论(0) 推荐(0) 编辑

导航