
Javascript源码
ClassicSong
爱它,才会有灵感。从此不再停滞不前。
展开
-
dom节点原生的append、appendChild方法
dom节点是有原生的append方法的,并不只属于jquery的专利。不过dom节点的原生append方法要求的浏览器版本高些。真挚感谢企业微信中打开项目页面时所报的bug,带来这个小惊喜。原创 2020-07-28 11:42:35 · 6416 阅读 · 2 评论 -
js获取每个月最后一天的两种方法
直面尴尬的背后,可能就是成长,获取最后一个月的日期。原创 2020-07-03 16:40:32 · 14335 阅读 · 0 评论 -
javascript中闭包妙用
开发项目过程中,有一个隐私功能,眼睛可点击,睁眼显示金额,闭眼显示星星星,如下图所示:睁眼:闭眼:基于小伙伴已经开发好了,拿过来用呗。好奇心总是促使我去琢磨别人的代码,咦?如下:function isShowMoneyFn( data ){ $('.js_isLook').on('click',function(){ if( $(this).attr('data-stat...原创 2019-08-05 14:50:25 · 161 阅读 · 0 评论 -
ES6--正则的扩展
RegExp构造函数1、字符串类参数:第一个参数是正则表达式字符串,第二个参数是正则表达式的修饰符。2、正则对象类参数:ES5中不允许第二个参数(修饰符)出现。ES6改变了这种行为,第一个参数是正则对象,第二个参数指定修饰符。返回的正则表达式会忽略原有正则表达式的修饰符,使用第二个参数指定的修饰符。字符串的正则方法1、match()2、replace()3、search()4、...原创 2019-03-18 11:19:23 · 190 阅读 · 0 评论 -
判断对象(Object)的方法
使用typeof太频繁了,判断个String、Number的还好,Object就惨了。找了个万全的方法,长了点,可是好用。有更好的可以多多沟通呀。示例代码如下:var dataObj = {我是对象};if(dataObj&&Object.prototype.toString.call(dataObj)==='[object Object]'){ //我是对象的地盘,...原创 2019-03-13 11:12:45 · 5304 阅读 · 0 评论 -
ES6--let和const关键字
最近项目没有太忙,静心拜读一下阮一峰的ES6,根据自己的理解,做个笔记,方便查找。如有不妥之处,欢迎指出。let1、let只在它所在的块里有效2、for循环中,循环条件中let声明的变量和每次循环中的变量不是同一个变量。循环条件中的变量是for循环整体的一个父级作用域变量,每次循环中的变量是局部变量。3、for循环中声明的函数,赋值给循环外的变量,该变量可以在循环之后调用,且函数中可以访问...原创 2019-01-09 14:34:06 · 233 阅读 · 0 评论 -
call和apply理解及使用方法
call和apply遇见就胆怯,追究到底还是由于对其了解不透彻。今天读某个框架源码时,大大的伤了一把自尊,call和apply用法模糊,导致读源码逻辑不清楚。翻出犀牛书,扎进去,189页-190页读几遍,总结如下:call用法:f.call(o,para1,para2,....);apply用法:f.apply(o,[para1,para2,....]);说明:1、f:是要原创 2017-07-06 16:14:15 · 1185 阅读 · 0 评论 -
eclipse+sonarLint+sonarqube平台代码检查规则 在编码过程中实时提示代码中坏味道
效率达标后,质量就该提上日程。以前编码中的坏习惯该收敛收敛了。项目开发完成后,构建测试环境时,sonarqube查出了一堆的坏味道,怀着又爱又恨的心情,改着这些坏味道,开始了还债的过程。好煎熬。是不是可以在开发过程中就检查呢,二次返工不好受。一下午不编码了,和sonarqube杠上了,拒绝后知后觉的构建检查,在编码时我就要检查。终于查到资料有说可以在ecli原创 2017-06-01 18:11:07 · 12371 阅读 · 10 评论 -
javascript中对象的属性名为变量的场景
今天帮伙伴解决一个问题,开发功能中对象的属性名是一个变量。按照他编写的代码赋值后的对象,直接将变量名作为了属性名。以下是其编写代码:var aa = "ok";var bb = "no";var obj = {aa:bb};console.log(obj);输出的对象是:{aa: "no"}这是因为 var obj = {aa:bb}; 这样的写法是和使用对象的点运算符赋原创 2017-01-06 18:00:13 · 3117 阅读 · 0 评论 -
字符串使用下标的方式访问其中的元素不兼容ie7和ie6
今天项目中遇到个问题。需求:需要在文本域中限制用户输入的字符长度。实现原理:中文,全角字符算作两个字符,除此之外其他字符算作一个字符。在遍历字符串中的每个元素时用的是数组下标方式,示例如下:var str = "测试文字123";for(var i=0,len = str.length; i<len;i++){........str[i].mach.....;....原创 2017-01-04 17:11:04 · 922 阅读 · 0 评论 -
javascript中setInterval和setTimeout第一个参数加与不加引号的区别
今天项目中的轮播特效用到了setInterval函数,程序写好后,运行正常也是需要的效果。随后将写好代码添加到了window.onload中,再运行程序,控制台抛出异常:Uncaught ReferenceError: showAuto is not defined;还是对setInterval理解不够深刻,开始度娘相关资料,还真是理解不深。附上代码说明。初始代码: <scr...原创 2016-05-11 13:32:26 · 3348 阅读 · 4 评论 -
JavaScript中的jsonp(跨域请求)
ajax中的jsonp跨域请求,固定格式,然后就可以了。为什么却没有深入的理解过。读了相关资料,将总结写到这里。何为JSONP?JSONP(JSON width padding)是一种不成文的协议,允许服务端将script tags 返回到客户端,使用JavaScript callback实现跨域访问。跨域为何出现?由于浏览器的同源策略,通过隔离保护原创 2016-06-29 11:58:55 · 789 阅读 · 0 评论 -
JavaScript中逻辑运算符(&&、||、!)的优先级和运算顺序
对逻辑运算符只停留在会用的层次,一直没有专门了解其原理。今天得空,好好深究一下,这里做个笔记,用来参考。三个逻辑运算符(&&、||、!)优先级是:!、&& 、|| 。逻辑与(&&)和逻辑或(||)运算符都遵循短路原则。逻辑与(&&)运算原则:A && B;当A为true时,无论B是true或false,都会返回B。当A为false时,无论B是t原创 2016-06-02 12:12:48 · 25555 阅读 · 0 评论 -
javascript查找DOM元素的方法总结
使用javascript中DOM元素的查找方法时,浏览器支持情况和返回值会记混,今天梳理一下,加深记忆。一共如下4条。1:document.getElementById(id):返回指定ID的元素。只有一个对象。 说明:如果没有指定ID的元素返回null; 如果存在多个指定ID的元素则返回undefined; 浏览器支持情况:所有浏览器原创 2016-05-06 16:18:40 · 4486 阅读 · 0 评论 -
IE6中请求莫名中断(条件:a标签,click事件中有ajax请求,a标签中有href且是JavaScript:void(0);或JavaScript:;等阻断跳转代码)
原载于:雨夜带刀's Blog本文链接:http://stylechen.com/ie6-aborted-ajax.html场景还原:给a标签绑定了一个click事件用来触发ajax请求,在IE6中,请求时常会被中断,在非IE6中都一切正常。click me var url = "http://api.flickr.com/services/" "feeds转载 2016-05-13 11:48:27 · 1824 阅读 · 0 评论 -
javascript:en(de)codeURI、en(de)codeURIComponent、(un)escape、btoa(atob)
转载自:http://qianduanblog.com/post/js-learning-34-en-decodeuri-en-decodeuricomponent-un-escape-btoa-atob.html1、encodeURI 和 decodeURI先了解,什么是URI和URL。在电脑术语中,统一资源标识符(Uniform Resource Identifier,转载 2016-05-25 15:20:03 · 2857 阅读 · 0 评论 -
JavaScript实现图片预加载,自适应指定尺寸容器
javascript var button = document.getElementById("js_button"); button.onclick = function(){ var image = document.createElement("img"); image.onload = funct原创 2016-05-10 09:45:29 · 3116 阅读 · 0 评论 -
uglifyjs压缩JS
一、故事总有其背景年末将至,很多闲适的时间,于是刷刷微博,接触各种纷杂的信息——美其名曰“学习”。运气不错,遇到了一个新名词,uglifyjs. 据说是用来压缩JS文件的,据说还能优化JS,据说是基于node的,还据说比Google Closure Compiler更带感,哦?激起了我的好奇心。百之谷之,哟,相关的介绍还不少。然后折腾了个把小时,基本上知道了是个怎么回事。我觉得吧,转载 2016-02-24 16:37:25 · 641 阅读 · 0 评论 -
js-预编译就是那个鬼
今天的之前只知道函数表达式这样写,而且要写到函数调用之前,不然会报错。也是像这样做的,所以没遇到什么问题。var functionName = function(){ alert("我是函数表达式"); } 函数声明这样写,既可以写到函数调用的前边也可以是后边,就是因为有一个函数声明的提升。具体何为函数提升,母鸡啦。。。function fun原创 2015-10-21 10:17:25 · 591 阅读 · 0 评论