今天偶尔看到了毛毛虫的关于QQ等级的算法的PHp实现,借着雾叔所建议的转行做前端的想法,于是写了一个JS的class,用来做JS的实现。当然也遇到一些问题
1、原来根据小时计算的算法,目前由于是根据天数来的,所以算法变了,但其实也很方即,所需天数+=5+(等级X2),然后从等级0开始循环,即可求出所需天数,反之根据天数也可以求出等级数
2、画图,由于QQ等级是4进制的,即逢四进一,三个星星+一个星星=一个月亮,如此类推。所以,刚开始的时候有点麻烦,因为我不知道JS的进制转换函数是什么 ,查了一下才知道,原来是那样的方便。PHP任意转换的函数是base_convert,而JS对于10进制的转换居然直接toString就可以了,例如把10转成4进制,即:10.toString(4),返回22,即2个月亮2个星星。方便 吧,简单吧。。。
最后加一个,任意进制转为10进制,parseInt(123,3),这里第二个参数就是第一个参数的进制单位,当然要对应,比如你输入了123,结果第二个参数是2,不出错才怪。。会返回NaN的
OK,代码在单位里,也是第一次尝试用JS实现对象,写的不好请谅解,明天上代码。。。