全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

那些精彩的JavaScript代码片段

精彩的JavaScript代码片段,分享给大家

1.根据给定的条件在原有的数组上,得到所需要的新数组

var a = [-1, -1, 1, 2, -2, -2, -3, -3, 3, -3];
function f(s, e) {
  var ret = [];
  for (var i in s) { // 根据原有的数组长度进行循环
    ret.push(e(s[i]));
  }
  return ret;
}
f(a, function(n) {
  return n > 0 ? n : 0
}); // 传输一个匿名函数作为逻辑判断

2.比原生type或typeof更详细的类型监测方法

function type(p) {
  /function.(\w*)\(\)/.test(p.constructor); //通过其构造函数来获取对应的类型。
  return RegExp.$1;
}

3.对象或数组的深拷贝,用于解决对象引用时值一改全改的问题。

var copyObject = function(obj) {
  var result = {};
  for (var x in obj) {
    result[x] = typeof obj === "object" ? copyObject(obj[x]) : obj[x]
    //如果拷贝的值仍然是一个对象,那么重复执行当前方法。
  }  
  return result;
}

4.通过正则表达式来获取Cookie的值

function getCookie(name) {
  if (name && RegExp("(^| )" + name + "=([^;]*)(;|$)").exec(document.cookie)) return RegExp.$2;
  // (^| ) 不匹配第一个空格。
  // ([^;]*) 只匹配除了;号之外的所有字符。
  // (;|$) 匹配以;号或$为结尾的字符。
}

5.通过移位运算来替代”parseInt”

~~3.14 = > 3;

// ~~ 取整。~取当前数值的反码,~~表示再次取反,也就是得到当前自身(说明,JS中的“位”运算会将数值自动转换为整数)

6.将数值转换为16进制的字符串(常用于表示色彩)

(~~ (Math.random() * (1 << 24))).toString(16)

// ~~ 通过位运算来取整。
// << 左移位。将1的二进制数左移24位。而1<<24 == 2^24(RGB模式下最多可表示的色彩数量)
// toString(16) 将数值转换为16进制的字符串输出。

7.对象方法的兼容性检查

if ('querySelector' in document) {}

8.NodeList || HTMLCollection || Object转换为Array或具有Array的方法

NodeList: 是指通过集合方法获得到的DOM节点列表,例如:document.getElementsByTagNmae,document.forms…等方法。
HTMLCollection: HTML块,它与NodeList很像,但是NodeList只支持数字索引,而HTMLCollection可以支持名称作为索引。
NodeList与HTMLCollection都具有以下类似: 具有数组的外观,但没有数组的方法 、具有length属性、支持索引来读取内容

function makeArray(obj) {
  var rs = [],
    len = obj.length;
  try {
    rs = [].slice.call(obj, 0);
  } catch (e) { //for IE
    for (var i = 0; j = obj[i++];) {
      rs.push(j);
    }
  }
  return rs;
}

9. 正则匹配清除两侧空格

var trim = function(v){
  var patrn = /^\s*(.*?)\s+$/;
  return (patrn.test(v))? RegExp.$1 : '
  null ';
}

10. 时间格式化

function dateFormat(t){    // t 是以秒为单位的值。
  var h = ~~(t/3600),    // t除以3600,取整,得到的就是小时。
    m = ~~(t%3600/60),  // t求余3600,取模,得到的就是去除小时剩下的秒数(分钟 + 秒),再除以60,取整,得到的就是分钟。
    s = ~~(t%3600%60);  // t求余3600,再求余60,剩下的自然就是“秒数”。
 
   return h+'小时'+m+'分'+s+'秒';
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# js代码片段  # js时间格式化  # javascript代码片段  # 工作中常用的js、jquery自定义扩展函数代码片段汇总  # 15个非常实用的JavaScript代码片段  # 你一定会收藏的Nodejs代码片段  # JavaScript的漂亮的代码片段  # JS跨域代码片段  # JavaScript和JQuery实用代码片段(一)  # 总结AJAX相关JS代码片段和浏览器模型  # 一段非常简单的让图片自动切换js代码  # 一段超强的javascript代码解密方法  # 一起来写段JS drag拖动代码  # 转换为  # 是一个  # 第一个  # 最多  # 是指  # 给大家  # 会将  # 所需要  # 很像  # 它与  # 配以  # 大家多多  # 但没  # 不匹配  # 二进制数  # 模式下  # 在原有  # 正则表达式  # obj  # copyObject 


相关文章: 如何在IIS中新建站点并解决端口绑定冲突?  已有域名和空间如何快速搭建网站?  建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析  如何制作一个表白网站视频,关于勇敢表白的小标题?  如何选择高效响应式自助建站源码系统?  如何快速搭建响应式可视化网站?  济南网站制作的价格,历城一职专官方网站?  建站之星如何防范黑客攻击与数据泄露?  定制建站价位费用解析与套餐推荐全攻略  淘宝制作网站有哪些,淘宝网官网主页?  娃派WAP自助建站:免费模板+移动优化,快速打造专业网站  网站制作模板下载什么软件,ppt模板免费下载网站?  b2c电商网站制作流程,b2c水平综合的电商平台?  开心动漫网站制作软件下载,十分开心动画为何停播?  如何用y主机助手快速搭建网站?  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  建站之星备案流程有哪些注意事项?  建站VPS推荐:2025年高性能服务器配置指南  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南  高端建站如何打造兼具美学与转化的品牌官网?  整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?  活动邀请函制作网站有哪些,活动邀请函文案?  网站建设设计制作营销公司南阳,如何策划设计和建设网站?  用v-html解决Vue.js渲染中html标签不被解析的问题  网站制作需要会哪些技术,建立一个网站要花费多少?  如何通过主机屋免费建站教程十分钟搭建网站?  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  如何制作网站标识牌,动态网站如何制作(教程)?  建站之星安装后界面空白如何解决?  如何选择高效可靠的多用户建站源码资源?  公司网站制作费用多少,为公司建立一个网站需要哪些费用?  香港服务器租用每月最低只需15元?  我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?  如何选购建站域名与空间?自助平台全解析  宝塔建站后网页无法访问如何解决?  建站之星好吗?新手能否轻松上手建站?  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  北京建设网站制作公司,北京古代建筑博物馆预约官网?  制作销售网站教学视频,销售网站有哪些?  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  平台云上自助建站如何快速打造专业网站?  如何快速查询网站的真实建站时间?  如何通过IIS搭建网站并配置访问权限?  如何批量查询域名的建站时间记录?  建站主机选哪种环境更利于SEO优化?  枣阳网站制作,阳新火车站打的到仙岛湖多少钱?  如何基于PHP生成高效IDC网络公司建站源码?  在线制作视频的网站有哪些,电脑如何制作视频短片?  北京网站制作公司哪家好一点,北京租房网站有哪些? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。