精彩的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小时内与您取得联系。