那些精彩的JavaScript代码片段
发布时间 - 2026-01-10 22:29:23 点击率:次精彩的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
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
高防服务器:AI智能防御DDoS攻击与数据安全保障
JS经典正则表达式笔试题汇总
成都网站制作公司哪家好,四川省职工服务网是做什么用?
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
如何快速打造个性化非模板自助建站?
Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程
Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】
如何在万网自助建站中设置域名及备案?
详解Android图表 MPAndroidChart折线图
Bootstrap整体框架之CSS12栅格系统
html5如何实现懒加载图片_ intersectionobserver api用法【教程】
如何快速完成中国万网建站详细流程?
Laravel API资源类怎么用_Laravel API Resource数据转换
Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置
Python文本处理实践_日志清洗解析【指导】
在Oracle关闭情况下如何修改spfile的参数
Laravel如何与Docker(Sail)协同开发?(环境搭建教程)
Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】
微信小程序 wx.uploadFile无法上传解决办法
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
Laravel如何创建自定义中间件?(Middleware代码示例)
Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)
如何注册花生壳免费域名并搭建个人网站?
标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南
如何彻底卸载建站之星软件?
Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】
laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法
北京企业网站设计制作公司,北京铁路集团官方网站?
Laravel如何处理CORS跨域请求?(配置示例)
iOS正则表达式验证手机号、邮箱、身份证号等
JS碰撞运动实现方法详解
Laravel Octane如何提升性能_使用Laravel Octane加速你的应用
如何在阿里云域名上完成建站全流程?
长沙企业网站制作哪家好,长沙水业集团官方网站?
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
如何在不使用负向后查找的情况下匹配特定条件前的换行符
DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解
ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】
iOS验证手机号的正则表达式
Laravel怎么发送邮件_Laravel Mail类SMTP配置教程
Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
南京网站制作费用,南京远驱官方网站?
Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中
Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】
Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程
C++时间戳转换成日期时间的步骤和示例代码
微信小程序 闭包写法详细介绍
Laravel如何保护应用免受CSRF攻击?(原理和示例)
下一篇:腾讯先锋自动续费如何关闭
下一篇:腾讯先锋自动续费如何关闭

