随笔分类 -  一寸光阴

拍什么真理无穷,进一寸有一寸的欢喜
摘要:最近在Javascript的设计编程中,用到的那个单例模式,感觉就类似一种代理的思想【其实就是缓存的一种机制】,单例模式就是: 任何在getSingle传入方法的函数,都会具有单例模式,就类似于缓存的思想,函数的执行得先过getSingle,它里面有个result的缓存,有缓存返回缓存,但是跟ES6 阅读全文
posted @ 2018-11-10 16:25 tangjiao_Miya 阅读(142) 评论(0) 推荐(0)
摘要:在实际项目中,总会遇到一些函数频繁调用的情况,比如window.resize,mouseover,上传进度类似的触发频率比较高的函数,造成很大的性能损耗,这里可以使用节流函数来进行性能优化,主要是限制函数被频繁调用的解决方案: 此函数可以触类旁通,throttle是个高阶函数,参数输入是个函数【该频 阅读全文
posted @ 2018-11-06 15:26 tangjiao_Miya 阅读(566) 评论(0) 推荐(0)
摘要:在看uncurrying化函数时候,碰到了Function.prototype.call.apply()的用法: 先说说uncurrying()函数: 然后可以通过var call = Function.prototype.call.uncurrying()进行函数参数的调用: 最后输出的是://s 阅读全文
posted @ 2018-11-06 11:25 tangjiao_Miya 阅读(1320) 评论(0) 推荐(0)
摘要:“实例中的指针仅指向原型,而不是指向构造函数”。 “重写原型对象切断了现有原型与任何之前已经存在的对象实例之间的关系;它们引用的仍然是最初的原型”。——前记 上面的b.constructor指向的是构造函数,但是如果构造函数原型被重写,b.constructor !== fun了,原因是指针指向的其 阅读全文
posted @ 2018-11-05 17:08 tangjiao_Miya 阅读(1277) 评论(0) 推荐(0)
摘要:这里我画了一张图: f是F的实例对象,实例对象继承构造函数原型对象,constructor属性是原型对象特有的,所以,f也具有contructor属性,f.constructor F.prototype.constructor 而F.prototype.constructor F。 可以看出f继承F 阅读全文
posted @ 2018-11-05 13:59 tangjiao_Miya 阅读(310) 评论(0) 推荐(0)
摘要:谈及javascript的闭包,可能想到的就是内存泄露,慎用闭包,但是实际上闭包还有更多好的作用: 1,可以将for循环的变量封闭在闭包环境中,下面这种情况,无论点击1-5div,最终打印的都是5,因为点击事件是异步,for循环时候,i是同一个,最终都会进阶到5,所以输出5。使用闭包进行i变量的封闭 阅读全文
posted @ 2018-10-30 11:17 tangjiao_Miya 阅读(200) 评论(0) 推荐(0)
摘要:1,设计模式的作用:让人们写出可复用和可维护性高的程序,代价可能是,额外增加代码量; 比较形象的例子:空房间里面放东西,如果日复一日的往里面扔东西,时间久了,很难找到自己想要的东西,调整也不容易,但是做一些柜子放东西,虽然前期增加了成本,但是在维护阶段带来了极大的好处。【柜子存放东西】,或许就是一种 阅读全文
posted @ 2018-10-26 19:46 tangjiao_Miya 阅读(512) 评论(0) 推荐(0)
摘要:Math.max()是求最大值,Math.min()是求最小值 Math.max(value1,value2,value3....) 但是如果是数组或者对象呢? var numArr = [1,2,4,6,76] Math.max.apply(null,numArr) 或者 Math.max(... 阅读全文
posted @ 2018-10-26 14:10 tangjiao_Miya 阅读(3278) 评论(0) 推荐(1)
摘要:今天有个小伙伴找我问了个问题: XXApp支持后台运行吗? 【我】:作为一个前端开发人员,一脸茫然,后问我们这边的安卓开发人员,才知道IOS没有后台运行的概念,用户按下HOME键后所有应用程序就自动停止了,而我们组的XXApp仅能支持安卓后台运行。 甚觉着IOS设计比较为用户着想,而安卓用户就比较随 阅读全文
posted @ 2018-10-09 10:45 tangjiao_Miya 阅读(517) 评论(0) 推荐(0)
摘要:网络术语:怪杰Resolver(解析器) ,解析器其实就是一段程序,在操作系统的Socket库中。 网络请求过程: 客户端(TCP/IP,网卡)——>集线器——>路由器(接入网)——>电话局(大容量光纤)——>网络运行商——>电话局(接入线)——>防火墙——>缓存服务器——>Server服务器(we 阅读全文
posted @ 2018-10-05 16:45 tangjiao_Miya 阅读(626) 评论(2) 推荐(0)
摘要:【该博客是拼接他人的,原因我们这边PC的开发人员问我,有没有关于js某个对象直接能检测手机或者电脑的自定义协议的,我上网搜了下,貌似移动端的解决比较多】 最终解决方案:还是需要github上面大神写的方法:protocolcheck https://www.lefer.cn/posts/34578/ 阅读全文
posted @ 2018-09-14 15:25 tangjiao_Miya 阅读(9625) 评论(0) 推荐(2)
摘要:#判断优化(处理多个选择优化) # 阅读全文
posted @ 2018-09-07 14:10 tangjiao_Miya 阅读(118) 评论(0) 推荐(0)
摘要:昨天碰到一个bug,用art-template模板进行渲染时候,周视图任务展示失败,都是暂无任务,我以为是模板兼容问题,但最开始我用的时候记得就是IE8的兼容性问题,引入es5-shim.min.js即可,我太自以为是,后发现不是,重新调试代码发现是在一个方法里面时间转换时候出现NaN-NaN,In 阅读全文
posted @ 2018-09-07 10:26 tangjiao_Miya 阅读(265) 评论(0) 推荐(0)
摘要:最近做项目,用了new Date().getTime()获取本地时间,但是如果用户篡改了手机时间,程序漏洞明显暴露。所以如果为保证程序的稳健安全性,应该是要使用网络时间的,也就是服务器时间。原理就是使用ajax时间,返回的头部信息里就含有服务端的时间信息,获取就可以了。 1,原生同步 2,原生异步 阅读全文
posted @ 2018-08-12 22:57 tangjiao_Miya 阅读(163) 评论(0) 推荐(0)
摘要:此问题坑爹啊,着实坑爹,要不是本宝宝鬼机灵再次进行了测试,不然测试都测不出来的问题,问题源头,有两个时间: let start = "2018-08-08 00:00:00" ; let end= "2018-09-28 24:00:00" ;进行用 new Date(start).getTime( 阅读全文
posted @ 2018-08-10 14:17 tangjiao_Miya 阅读(452) 评论(1) 推荐(0)
摘要:js中的对象都有__proto__属性存在【隐式原型】,注意是两个_, 1,javascript对象的__proto__指向的是该对象的构造函数的原型对象,即constructor.prototype。 2,每个函数在创建之后都会获得一个prototype的属性,该属性指向函数的原型对象,所以函数除 阅读全文
posted @ 2018-07-16 14:17 tangjiao_Miya 阅读(184) 评论(0) 推荐(0)
摘要:今天在code review时候看到同事的代码,用了ajax同步,async:false,如果不设置async参数,默认是true,为异步,异步的情况是比较复杂的,看下同步这个例子: 该方法的return放在了方法的最后一步,不像我们常规使用成功回调那样,如果后台迟迟没有响应,则程序是卡死在这里不往 阅读全文
posted @ 2018-07-16 11:08 tangjiao_Miya 阅读(256) 评论(0) 推荐(0)
摘要:JS中,一般的赋值传递的都是对象/数组的引用,并没有真正的深拷贝一个对象,如何进行对象的深拷贝呢? 上述代码中,b指向a所指向的栈对象,也就是说a,b指向同一个栈对象,这种属于对象的浅拷贝。 上述代码将原对象拷贝到一个空对象中,a,b指向的是不同的栈对象,所以对b.name重新赋值不会影响到a.na 阅读全文
posted @ 2018-07-15 16:03 tangjiao_Miya 阅读(8579) 评论(4) 推荐(1)
摘要:前言:因为之前看过很多的博客啊,书籍啊但是最后都雁过无痕,再问我基本没什么印象,所以就迫使自己看书的时候记点笔记,因为懒得写字[捂脸],现在是打字比写字要快好多,所以就写博客吧! ES6规范明确定义了对象的每种类别:1,普通对象 ;2:奇异对象;3 标准对象;4内置对象。 对象字面量语法的拓展: E 阅读全文
posted @ 2018-07-03 15:58 tangjiao_Miya 阅读(414) 评论(0) 推荐(0)
摘要:1,带参数默认值的函数 JS函数有个独特的行为:可以接受任意数量的参数,而无视函数声明的形参数量。未提供的参数会使用默认值来代替。实际传递的参数允许少于或多于正式指定的参数。 在ES6中可以直接在形参里面进行默认值赋值: 在ES5中我们一般使用: 在形参未被提供情况下使用默认值。但是如果timeou 阅读全文
posted @ 2018-06-29 16:17 tangjiao_Miya 阅读(277) 评论(0) 推荐(0)