
JavaScript
文章平均质量分 68
EndingCoder
Up Up Up ...!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JavaScript 深拷贝:从基础到实践的全面指南
在JavaScript中,深拷贝是创建对象完全独立副本的过程,确保修改副本不会影响原对象。常见深拷贝方法包括JSON.parse(JSON.stringify())、structuredClone()、手动递归复制和Lodash的_.cloneDeep()。JSON.parse(JSON.stringify())简单但不支持函数和循环引用;structuredClone()是现代浏览器的首选,支持复杂数据类型和循环引用;手动递归复制灵活但实现复杂;Lodash的_.cloneDeep()可靠但需引入依赖。原创 2025-05-20 11:36:37 · 681 阅读 · 0 评论 -
JavaScript 数组方法详解:全面指南
JavaScript数组是Web开发中处理数据的核心工具,提供了多种内置方法以高效操作数组元素。本文基于ECMAScript 2023标准,详细介绍了数组方法的功能、语法和应用场景,包括最新方法如toSorted和toReversed。文章首先概述了数组的基本概念和操作方法,随后分类讲解了添加删除、转换、迭代、搜索等功能的数组方法,并提供了实际应用示例。此外,文章还强调了变异与非变异方法的区别,以及性能优化和浏览器兼容性的注意事项,旨在帮助开发者更好地理解和运用JavaScript数组方法。原创 2025-05-20 11:18:09 · 756 阅读 · 0 评论 -
JavaScript 时间转换:从 HH:mm:ss 到十进制小时及反向转换
时间转换是指在不同时间表示形式之间切换。HH:mm:ss(小时:分钟:秒)和 HH:mm(小时:分钟)是常见的时间字符串格式,而十进制小时(如 17.5 表示 17 小时 30 分钟)则便于数学计算。17:30:00 转换为十进制为 17.5(30 分钟 = 0.5 小时)。17.75 转换回时间为 17:45:00(0.75 小时 = 45 分钟)。这些转换在时间跟踪、工资计算和数据可视化中非常有用。原创 2025-05-16 17:30:27 · 1307 阅读 · 0 评论 -
JavaScript 数组比较完全指南:浅比较·深比较·无序比较
在 JavaScript 中,直接使用==或===比较两个数组只能判断它们是否引用同一对象,而无法按“值”比较元素内容。要想判断两个数组内容一致,必须使用值比较的方法,常见方案包括:将数组序列化后比较(手动逐项遍历比较(如for循环、everyincludes或者构建元素计数映射(frequency map)实现 O(n) 复杂度的无序比较。在大型或性能敏感场景,也可借助 Lodash 的_.isEqual进行深度比较。原创 2025-05-14 14:01:14 · 1039 阅读 · 0 评论 -
2025年JavaScript性能优化全攻略
开发者可使用Chrome DevTools的Performance和Memory面板,结合Lighthouse和WebPageTest分析性能瓶颈,关注核心指标如Largest Contentful Paint (LCP)、First Input Delay (FID)、Cumulative Layout Shift (CLS)。JavaScript性能优化是一个持续的过程,需要开发者深入理解瓶颈,并结合实战技巧和最佳实践进行优化。原创 2025-05-09 09:38:59 · 786 阅读 · 0 评论 -
js 继承
function Person(name, email, website){ this.name = 'x'; this.getName = function (){ console.log(this.name + ' ' + name); }; this.getEmail = function (){ console.log(email); }; thi原创 2014-04-11 10:57:07 · 711 阅读 · 0 评论 -
ecshop中使用Jquery特效报错“b.replace is not a function”
将ecshop二次开发中,使用jQuery特效的时候结果运行始终提示js错误:TypeError: b.replace is not a function");try{for(;d1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.s原创 2014-03-26 11:57:55 · 5703 阅读 · 0 评论 -
mouseover事件与mouseenter事件
对于 mouseover 和mouseenter 两个事件 最大的区别就是 mouseenter 是 不冒泡的事件 ..这话怎么理解呢?对于mouseover 时间来说 当鼠标从其他元素 移动到 child节点时发生 但此事件会冒泡 所以会导致 parent 也出发mouseover如果我们对 parent注册了 mouseover监听. 则可能会产生一个什么问题呢? 从原创 2014-04-21 14:57:04 · 1044 阅读 · 0 评论 -
使用SuperSlide制作首页轮播图
SuperSlide 可以解决网站大部分特效展示问题,使网站代码规范整洁,方便维护更新无标题文档* { list-style: none outside none; margin: 0; padding: 0;}body { background: none repeat scroll 0 0 #FFFFFF; font: 12px原创 2014-03-25 13:21:50 · 5382 阅读 · 0 评论 -
js 密码强度检测
密码强度 //CharMode函数 //测试某个字符是属于哪一类. function CharMode(iN){ if (iN>=48 && iN <=57) //数字 return 1; if (iN>=65 && iN <=90) //大写字母 return 2; if (iN>=97 && iN <=122) //小写 return 4; els原创 2014-04-03 13:25:42 · 906 阅读 · 0 评论 -
js将滚动条scrollbar保持在最底部
js实现将div等滚动条(scrollbar)保持在最底部的方法.很多时候我们要让程序的滚动条保持在底部,如聊天室.下面将利用div+css+javascript实现保持滚动条在最底部.代码如下,.cdiv{ background-color: white; height: 100px; width: 380px; padding-left:原创 2014-04-02 11:47:02 · 20435 阅读 · 0 评论 -
js返回并刷新页面
返回并刷新页面原创 2014-03-21 16:15:16 · 606 阅读 · 0 评论 -
js 右键菜单、禁止剪切、复制、粘贴的文本框代码
禁止右键菜单、剪切、复制、粘贴的文本框<input type="text" id="username" name="username" value="" onpaste="return false" oncontextmenu="return false" oncopy="return false" oncut="return false" />原创 2014-03-27 09:48:04 · 962 阅读 · 0 评论 -
Jquery出生日期控件
jQuery.noConflict(); jQuery(function ($) { var $birthYear = $('.gbiaps_birthday_year'); var year = new Date().getFullYear(); $('' + (yea转载 2013-12-07 14:01:28 · 1930 阅读 · 0 评论 -
封装实现JavaScript 文件的动态加载功能
function loadScript(url, callback){var script = document.createElement ("script")script.type = "text/javascript";if (script.readyState){ //IEscript.onreadystatechange = function(){if (script.read原创 2014-05-10 11:09:49 · 796 阅读 · 0 评论 -
Intellij IDEA,WebStorm-keymap
ctrl + shift + n: 打开工程中的文件ctrl + j: 输出模板ctrl + b: 跳到变量申明处ctrl + alt + T: 围绕包裹代码(包括zencoding的Wrap with Abbreviation), ctrl + shift + del: 删除包裹ctrl + []: 匹配 {}[]ctrl + F12: 可以显示当前文件的结构,快速跳转到目标函数ctrl + x转载 2014-10-09 10:56:20 · 2135 阅读 · 0 评论 -
ios利用Fiddler代理本地服务器
在本地开发机上建一个代理服务器,让 iOS 设备通过代理服务器访问。这样域名解析这一步是在开发机完成的,只要把开发机的 hosts 配置好就可以了。架设代理服务器并不复杂,有现成的方案,就是前端神器 Fiddler(只需要选中“允许其它机器连接”选项就可以了),顺道还可以调试移动设备的 HTTP 连接。1. 安装Fiddler后,点击Tools,“Fiddler Options原创 2018-01-25 17:37:12 · 2533 阅读 · 0 评论 -
object对象的比较
Object.prototype.equals = function(obj){ if(this == obj) return true; if(typeof(obj)=="undefined"||obj==null||typeof(obj)!="object") return false; var length = 0; var length1=0; for(var ele转载 2014-03-01 11:41:12 · 1636 阅读 · 0 评论 -
document.domain 跨域
document.domain用来得到当前网页的域名。比如在地址栏里输入:javascript:alert(document.domain); //www.315ta.com我们也可以给document.domain属性赋值,不过是有限制的,你只能赋成当前的域名或者基础域名。比如:javascript:alert(document.domain = "315ta原创 2014-02-27 17:23:49 · 555 阅读 · 0 评论 -
微信公众平台开发 Node.js SDK
[1].[文件] app.js01/* 02 * 微信公众平台 Node.js SDK 1.0.003 * (c) 2012-2013 ____′↘夏悸 , MIT Licensed04 * http://www.jeasyuicn.com/w转载 2014-01-22 21:39:39 · 1450 阅读 · 0 评论 -
使手机浏览器输入www网址自动跳转手机版页面
function is_mobile() { var regex_match = /(nokia|iphone|android|motorola|^mot-|softbank|foma|docomo|kddi|up.browser|up.link|htc|dopod|blazer|netfront|helio|hosin|huawei|novarra|CoolPad|webos|techfa原创 2013-11-09 10:52:35 · 13660 阅读 · 0 评论 -
全屏切换
.mask_pic{ left:0; position:absolute; top:0; text-align:center; display:none; z-index:999998; background:#fff;}function showMask_pic() { var bh原创 2013-11-09 14:10:26 · 808 阅读 · 0 评论 -
js 悬浮广告
无标题文档wss=function (id,_top,_left){var me=id.charAt?document.getElementById(id):id, d1=document.body, d2=document.documentElement;d1.style.height=d2.style.height='100%';me.style.top=_top?_top原创 2013-12-19 09:47:57 · 610 阅读 · 0 评论 -
不入库的永久递增
//预定人数start /*var initialNO = 289; var currentNO = 96373000;//1分20077599 var timestamp = 0; var reserveTimer;*/ var $reserveNO1 = $('#reserveNO1'); var $reserveNO2 = $('#reserveNO2'); var $rese原创 2013-12-24 08:42:29 · 582 阅读 · 0 评论 -
练习
// JavaScript Document/* 2013-11-1 *//**Author:pangzimin*qq:26983075*/var i = 0;function utab(value){ var sDisplay = $('#ucate ul').eq(value).css('display'); if(sDisplay == 'none'){ $('#u原创 2013-11-21 17:44:59 · 1231 阅读 · 0 评论 -
不入库的永久递增(封装)
无标题文档$(function (){ $reserve1 = $('#reserve1');$reserve2 = $('#reserve2');$reserve3 = $('#reserve3');$reserve4 = $('#reserve4');reserve(8,1037765,$reserve1,$reserve2,$reserve3,$原创 2013-12-27 14:02:47 · 541 阅读 · 0 评论 -
js判断手机访问网站自动跳转到手机版
目前很多网站已经出现了手机版的网站,手机网站是和互联网上的网站同步更新的,大多数人访问我们的网站是直接访问电脑上的域名,不可能为了手机网站重新记住一个域名,大家都知道,中国人都是比较懒的,那么遇到这个情况我们如何面对了,其实办法很简单就是在网站头加入一句判断语句,判断是手机访问网站时就自动跳入手机版,如果是电脑访问就显示正常版本的就可以了。代码如下: uaredirect("你的手原创 2013-11-09 10:58:27 · 1582 阅读 · 0 评论 -
js-jQuery对象与dom对象相互转换
核心提 示:jquery选择器得到的jquery对象和标准的 javascript中的document.getElementById()取得的dom对象是两种不同的对象类型,一般情况下,如S(’#id’)得 到的是jquery对象,它不能使用js中的dom方法。所以,如果jquery对象要使用标准的dom方法,就需要进行对象转换。刚开始学习jQuery,可能一时会分不清楚哪些是jQuery对象原创 2014-01-23 20:41:11 · 577 阅读 · 0 评论 -
JS回调函数callback用法
1 2 function a(callback) 3 { 4 div1.innerHTML += "a"; 5 callback(); 6 } 7 function b(){ 8 div1.innerHTML+="b"; 9 } 10 11 var div1;12 window.onload = functi原创 2014-01-23 20:40:53 · 4052 阅读 · 0 评论 -
js公告轮播代码
//首页公告var $announcement = $('#announcement ul'); var cheight = parseInt($('#announcement').css('line-height').split('p')[0]); var announcementLength = $announcement.find('li').length; var nowtop,原创 2014-02-13 17:05:44 · 5323 阅读 · 0 评论 -
分享一个开源响应式前端框架-SkelJS
SkelJS 仅有一个js文件,大小只有17kb。是一个轻量级的响应式设计网站应用的前端开发框架。提供可配置的栅栏结构、响应式breakpoint处理和许多其他功能。中文版API文档,参考手册: http://now.willin.org/p/skeljs/转载 2014-02-10 10:21:52 · 1728 阅读 · 0 评论 -
Ember.js 的初学者指南
现在,到处都可以看到复杂的 JavaScript 应用程序。 由于这些应用程序变得越来越复杂,一长串的 jQuery回调语句,或者通过应用程序在各个点执行不同的函数调用,这些都变得无法再让人接受。 这导致了JavaScript开发人员了解到传统的软件程序员已经知道了几十年的问题: 组织和效率非常重要,并且可以对应用程序的性能是否优异产生重大影响。实现组织和效率的其中一个最常用的架构模式,被称为转载 2014-01-28 17:15:19 · 1266 阅读 · 0 评论 -
刮刮乐demo:flash+php
php<?php/** *接收来自flash的参数 *username:用户名 *goodId:商品ID *amount:购买数量(箱) **/$username = $_POST['username'];$goodId = $_POST['goodId'];$amount = $_POST['amount'];//刮奖次数$views = 3;//刮奖显示文字原创 2014-01-03 18:04:07 · 1818 阅读 · 0 评论 -
解决js存储中文cookie乱码问题
1 function setCookie(name, value, hours){ 2 var exp = new Date(); //new Date("December 31, 9998"); 3 exp.setTime(exp.getTime() + hours*60*60*1000); 4 document.cookie = name + "="+ encodeURI原创 2014-01-23 20:40:17 · 1085 阅读 · 0 评论 -
项目中一段js功能代码
$(function(){ //correctPNG(); var clearanceTimes = 4; var iCurrentPromotions = 0; var iListImgPage = 1; var iLiLength = $('#popup_box_good_bodyleftbodyUl li').length; var原创 2014-01-23 20:40:11 · 563 阅读 · 0 评论 -
常用JS验证函数总结
1 /**************************************************************************************/ 2 /*************************************数字的验证*****************************************/ 3 /************原创 2014-01-23 20:40:13 · 513 阅读 · 0 评论 -
可调整倒计时间的JS代码
1 DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 html xmlns="http://www.w3.org/1999/xhtml"> 3 head> 4 meta http-equi原创 2014-01-23 20:41:22 · 645 阅读 · 0 评论 -
JS获取字符串实际长度
经常要用到的字符串长度检测方法,由于JS原先的长度中文跟英文一样一个字符为1个长度。所以这里就得需要大家自己判断并获取字符串的实际长度了。 核心代码: 1 var jmz = {}; 2 jmz.GetLength = function(str) { 3 ///获得字符串实际长度,中文2,英文1 4 ///要获得长度的字符串 5 var r原创 2014-01-23 20:40:15 · 655 阅读 · 0 评论 -
Node.js 的安装和控制台命令
一、Node.js简介 为了说服您阅读这份简单的说明,我想先给Node.js做点广告还是有必要的。先看看都有谁在用Node.js吧,跟着业界老大混,总是大差不差的。首先,微软的云服务Azure已经开始支持Node.js、还有就是Ebay、Yahoo、Linkedin,是不是有点精神了?嗯,我们继续。下面是官网的自我介绍:------------------------------转载 2013-12-31 13:23:19 · 1046 阅读 · 0 评论