九五美食网
您的当前位置:首页一些实用性较高的js方法_javascript技巧

一些实用性较高的js方法_javascript技巧

来源:九五美食网


本文分享下自己平时积累的一些实用性较高的js方法,供大家指点和评价。本想分篇介绍,发现有点画蛇添足。整理了下也没多少拿得出手的方法,自然有一些是网上看到的个人觉得很有实用性的方法,在这里一起贴出来供大家探讨。

1、点击返回若没有之前页面则跳转到规定页面

  首先是客户需求中要求——单个分享到微信的页面,点击返回可以跳转到网站首页。

  期间这个功能有和客户探讨过,能否在页面中添加回到首页按钮进行跳转。

  可是这种方式无法作用到每个页面,并且指明需要该功能的分享页面没有可以放得下一个图标,又不影响美观的地方了。于是,本人只好是寻求度娘。度娘上也尽是一些打着擦边球的功能。

  所以通过自己的尝试 有了以下代码:



再将下面这段代码加入页面ready事件中:



具体功能就是判断之前是否有页面,若没有就将制定网站的链接地址插入state(这里用的是首页),然后再监听popstate事件,进行相应功能的操作。

这段代码可能还有一些小问题,所以打算是贴出来有人可以一起探讨和完善。

2、便捷log方法

  相信大家页面调试的时候早已经厌烦了console.log()略显啰嗦的敲打长度。有些人可能会使用快捷输入进行快速输入(如:输入cl编译环境智能跳出console)。不过在等到项目发布的时候 看到许多忘记删掉的调试信息,还是会难以清除。所以本人干脆写了个方法 用来专门处理这种情况。



  其实还有点不满意的就是 没办法自动获取到参数的名字不然就可以这样使用:  



  看起来是不是就更加明白点了?

3、 获取浏览器定位信息(支持移动端)

  接到很多的项目都是移动端定制开发的,所以经常会用到需要定位当前地点的信息。

  可是网上很多的接口都是需要引用一段外部js的比如百度的api,微信的api等等。

  我接下来介绍一种不需要引用外部js,只需要向外部API链接提交参数就可以获取定位的方法:



这段代码是本人实际项目中的一段代码,由于需要判断是否已经获取到定位信息,不能每次页面加载都进行一次获取 所以我用Cookie将定位信息保存了起来

刚开始的时候判断是否有当前的定位信息cookie,没有。再判断是否是在移动端(因为项目是微信端的,所以我这里只是做了微信端的验证)

然后再调用html5提供的接口参数 进行数据传输,将百度返回过来的jsonp进行处理。由于我项目里只需要获取定位的城市信息 所以这里只是举了获取城市的例子。

4、 获取字符串数值部分

  因为项目上我只负责功能的实现,所以很多页面并不是我自己搭的,但是 又会有些生手来搭出一些很不好获取标签内的数值的情况。

  比如:

原价998现在只要
 99.8!
 

像这种页面,有时候要获取里面的998或者98。就会变的有点麻烦。

通过我下面提供的方法,可以很方便的解决这种情况



这段方法很简短,实质上就是通过正则去匹配。将非数字或者小数点的字符替换成空的字符串(实际上就是删除)

这样返回过来的数据就是我们想要的数字,我最后又进行了一次转换为浮点型的操作,这是为了方便将数据进行后期处理。比如保留两位小数,四舍五入 等等。

5、获取设备信息



这里也是分享一个不是我写的 也是在网上看到的一个封装成对象的判断设备信息的方式。

个人觉得很好用,于是也拿来跟大家分享一下。

字符串扩展方法——以下介绍的都是对String类型数据进行附加的方法

1.将字符串超出指定长度部分隐藏



注释已经够简单明了了。不理解的可以留言,博主看到一定回复。

2.将字符串长度减一



有些人可能会觉得 这个方法有点脱裤子放屁的嫌疑,其实真正的项目中 会经常需要这个操作。

与其写一段长长的substring 不如咱们写个方法将代码精简,并且在码代码的时候 也很方便 直接在对应的字符串后面 轻轻一点,选择delLast就行。

一句话,用过都说好!

3.将数字型字符串补全指定长度



看注释可能有点不理解 其实就是加入这个字符串是 "2",通过这个扩展方法 可以这么操作 "2".addZero(2)

那么返回过来的就是"02"这样的字符串。

用过都说好!

4.将数据库DateTime类型转换为Date



5.用户昵称省略 



        
显示全文