摘要:
在JavaScript里使用typeof判断数据类型,只能区分基本类型,即:number、string、undefined、boolean、object。
对于null、array、function、object来说,使用typeof都会统一返回object字符串。
要想区分对象、数组、函数、单纯使用typeof是不行的。在JS中,可以通过Object.prototype.toString方法,判断某个对象之属于哪种内置类型。
分为null、string、boolean、number、undefined、array、function、object、date、math。 阅读全文
摘要:
每天早上上班在地铁里我都有看技术类文章以及实时新闻的习惯,偶尔会看到有些文章的开始部分会提醒我们这篇文章大概的阅读时长,我就在想这是怎么实现的,具体到前端开发中,又是如何实现的。今天在浏览SegmentFault论坛时,无意中看到了一篇关于“如何估算文章阅读时长?”的帖子,于是就从头到尾看了下实现的原理,谁知实现起来会那么简单。 阅读全文
摘要:
最近,公司要做一个类似挖矿的项目,大概其是当用户登录进入首页后,如果用户有已经生成的原力值,则在其点击原力值后可以类似蚂蚁森林那样收集原力值,当用户将所有的原力值收集完毕后开始提醒用户新的原力值正在生成中,待新的原力值生成后,用户可以继续以上的操作收集原力值。以上是一种逻辑,还有一种是当用户前一天有剩余的原力值没有收集时,在第二天收集完当天的已生成的原力值后,前一天的原力值还可以出现在页面当中继续供用户收集(具体的情况,看你公司的实际业务需求,比如可以设置三天内的原力值都能收集,也可以设置两天内的原力值可供收集等)。 阅读全文
摘要:
constructor()——构造方法
这是ES6对类的默认方法,通过new命令生成对象实例时自动调用该方法。并且,该方法是类中必须有的,如果没有显示定义,则会默认添加空的constructor()方法。
super() ——继承
在class方法中,继承是使用 extends 关键字来实现的。子类 必须 在 constructor()调用 super()方法,否则新建实例时会报错。
报错的原因是:子类是没有自己的 this 对象的,它只能继承自父类的this对象,然后对其进行加工,而super()就是将父类中的this对象继承给子类的。没有 super,子类就得不到 this 对象。 阅读全文
摘要:
canvas一直是前端开发中不可或缺的一种用来绘制图形的标签元素,比如压缩上传的图片、比如刮刮卡、比如制作海报、图表插件等,很多人在面试的过程中也会被问到有没有接触过canvas图形绘制。
定义:canvas元素用于图形的绘制,通过脚本 (通常是JavaScript)来完成,canvas标签只是图形容器,您必须使用脚本来绘制图形。
浏览器支持:Internet Explorer 9、Firefox、Opera、Chrome 和 Safari 支持。
那么本篇文章就通过一个时钟组件来熟悉使用一下关于canvas的api。 阅读全文
摘要:
js求和运算在可变参数的情况下ES3、ES5和ES6的写法区别 阅读全文
摘要:
在做公司的运营报告页面时,有一个数字累计增加的动画效果,一开始,毫无头绪,不知如何下手,于是上网查资料,发现大多都是用的插件来实现的,那么今天,我也来用插件jquery.animateNumber.js来实现一个不一样的数字动画效果吧,也等于是做个笔记吧。 阅读全文
摘要:
项目后端前一段时间从C#转成了JAVA,在开发的过程中,由于HTML对标签的语法很宽松,在某些标签的结尾处没有使用斜杠结束是不会报错的,也可以正常运行,而后端人员在使用这些标签时,不知是JAVA编辑器的问题还是JAVA自身本来就要求很规范很严格的问题,导致没有使用斜杠结束的写法编译不通过,必须要加上斜杠结束方可。可平时在使用sublime开发时,安装的插件Emmet默认在生成某些标签时是没有斜杠结束的,要我们自己手动添加,显然费时费力,于是就上网查了资料,才有了本文的解决办法。 阅读全文
摘要:
在项目开发中尤其是在项目的活动页面的开发中,经常需要将用户的购买信息或中奖信息等以列表的形式展示在页面当中,并可以使其自动间歇向上滚动来达到在有限的区域内展示所有信息的目的。通常的做法是通过将列表父元素的`margin-top`或`top`在一定间隔内以负值逐渐减小一行的高度的形式来实现,那么今天,我们就通过列表父元素的`scrollTop`属性来实现这样的效果(其实原理都差不多)。 阅读全文
摘要:
一直以来都在好奇,jquery的prevAll和nextAll方法都是咋实现的,那么厉害,而且还那么方便。不得不说,jquery真的帮我们省去了开发中手写大量js代码带来的开发进度问题,而且很好的解决了js代码的浏览器兼容性问题,对于js领域来说,真的算是一场革命性的变革。但是如果知道了原理,读懂了jquery的源码,还是会恍然大悟的。 阅读全文