1.格式化数字 该函数格式化数字样式为带有千分号和制定小数点数位的格式。
function fomatNumber(s, n) {
n = n >= 0 && n <= 20 ? n : 2;
s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";
var l = s.split(".")[0].split("").reverse(),
r = s.split(".")[1];
t = "";
for(i = 0; i < l.length; i ++ ) {
t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");
}
if( n==0 )
return t.split("").reverse().join("")
else
return t.split("").reverse().join("") + "." + r;
}
2.2010-10-13 当应用ajax时,iframe 在ie里面不能刷新 ,或者称之为有缓存我算是领教过了。本来应该轻松的今天浪费了我太多的时间。
如果A网页里有iframe,而这个iframe的src只想B页。当A刷新时,B中有ajax请求的话,则B不会刷新。只是在IE中才如此。解决办法唯有让iframe的src引用页的ajax请求的url每次都不一样 。在手头上的项目,不想让每个人都去改自己的页面去。所以我的办法只能是去更改jquery的源代码,让它的ajax请求每次都自动在后面加一个随机参数了。
3.2010-10-15 本来以为没有办法。但今天一查,却给了自己一个惊喜。原来在主页面也能判断何时该页面中的iframe加载完毕 ,从而可以为应用提供类似假滚动条的东西来增强用户体验。对于现在我设计的以iframe为单位的页面架构提供了以后让人无可挑剔的体验。方法可参考如下代码
<html>
<head>
</head>
<body>
<div id="msg"></div>
<iframe id="detail" name="detail"></iframe>
</body>
<script>
/**/
var div = document.getElementById("msg");
div.innerHTML = "数据加载中...";
var iframe = document.getElementById("detail");
iframe.width="100%";
iframe.height="100%";
iframe.src = "http://163.com";
if (iframe.attachEvent){
iframe.attachEvent("onload", function(){
div.style.display = "none";
});
} else {
iframe.onload = function(){
div.style.display = "none";
};
}
</script>
</html>
4.获得某个月天数的算法 。原本是给组内人员写个取得上月同期和上周同期的公用方法。取得上月同期,不得不先写这个算法了。
/**
* get days number in month
* @param year
* @param month
* @return
*/
function baseGetDatesInMonth(year, month) {
if(parseInt(month) == 1 || parseInt(month) == 3 || parseInt(month) == 5 || parseInt(month) == 7
|| parseInt(month) == 8 || parseInt(month) == 10 || parseInt(month) == 12) {
return 31;
} else if(month == 2 && (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0))) {
return 29;
} else if(month == 2) {
return 28;
} else {
return 30;
}
}
/**
* get the same date in last month
* if last month does not contain the day the last day will return
* @param thedate
* @param n if n == 6, MM-dd will return
* @return
*/
function baseGetLastMonthTheSameDay(thedate, n) {
var year = thedate.substring(0,4);
var month = thedate.substring(5,7);
var date = thedate.substring(8);
var monthDays = baseGetDatesInMonth(year, month);
var lastMonthYear = year;
var lastMonth = month - 1;
if(lastMonth == 0) {
lastMonthYear = year - 1;
lastMonth = 12;
}
var lastMonthDays = baseGetDatesInMonth(lastMonthYear, lastMonth);
var lastMonthDate = date;
if(lastMonthDays < date) {
lastMonthDate = lastMonthDays;
}
if(lastMonth < 10) {
lastMonth = "0" + lastMonth;
}
/*
if(lastMonthDate < 10) {
lastMonthDate = "0" + lastMonthDate;
}
*/
if(n == 5) {
return lastMonth + "-" + lastMonthDate;
}
return lastMonthYear + "-" + lastMonth + "-" + lastMonthDate;
}
/**
* get the same date in last week
* @param thedate
* @param n if n == 6 MM-dd will return
* @return
*/
function baseGetLastWeekTheSameDay(thedate, n) {
var year = thedate.substring(0,4);
var month = thedate.substring(5,7);
var date = thedate.substring(8);
var theDate = new Date();
theDate.setYear(year);
theDate.setMonth(month -1);
theDate.setDate(date);
var time = theDate.getTime();
time = time - 7 * 24 * 60 * 60 * 1000
theDate.setTime(time);
var lastWeekYear = theDate.getYear();
var lastWeekMonth = theDate.getMonth() + 1;
var lastWeekDate = theDate.getDate();
if(lastWeekYear < 1900) {
lastWeekYear = lastWeekYear + 1900;
}
if(lastWeekMonth < 10) {
lastWeekMonth = "0" + lastWeekMonth;
}
if(lastWeekDate < 10) {
lastWeekDate = "0" + lastWeekDate;
}
if(n == 5) {
return lastWeekMonth + "-" + lastWeekDate;
}
return lastWeekYear + "-" + lastWeekMonth + "-" + lastWeekDate;
}
5.js格式化函数,是完全在客户端获取Date对象后的格式化
Date.prototype.format = function(format) {
var o =
{
"M+" : this.getMonth()+1, //month
"d+" : this.getDate(), //day
"h+" : this.getHours(), //hour
"m+" : this.getMinutes(), //minute
"s+" : this.getSeconds(), //second
"q+" : Math.floor((this.getMonth()+3)/3), //quarter
"S" : this.getMilliseconds() //millisecond
}
if(/(y+)/.test(format))
format=format.replace(RegExp.$1,(this.getFullYear()+"").substr(4 - RegExp.$1.length));
for(var k in o)
if(new RegExp("("+ k +")").test(format))
format = format.replace(RegExp.$1,RegExp.$1.length==1 ? o[k] : ("00"+ o[k]).substr((""+ o[k]).length));
return format;
}
var ddd = new Date();
document.write (ddd.format('yyyy-MM-dd hh:mm:ss<br>'));
document.write (ddd.format('yyyy-MM-dd'));
6.
分享到:
相关推荐
"H5JS游戏常用算法-路径搜索算法-随机迷宫算法(普里姆算法)" 本资源主要介绍了游戏开发中常用的路径搜索算法和随机迷宫算法,着重于普里姆算法的应用。路径搜索算法是游戏开发中非常重要的一部分,特别是在RPG、...
这个名为"基于javascript实现的一些常用算法"的资源集合,很可能包含了一系列用JavaScript编写的经典算法实现,这对于学习和理解算法有着极大的帮助。让我们深入探讨一下这些算法及其在JavaScript中的实现。 1. **...
Node.js是一个基于Chrome V8引擎的...Nodorithm作为一个集合了多种常用算法的Node.js库,对于提升开发效率和代码质量有着显著的作用。无论是初学者还是经验丰富的开发者,都可以从中受益,更好地应对各种算法挑战。
以上是JS常用算法实现代码的具体分析,涉及到了数组去重、快速排序、统计字符串中字符出现次数、变量值交换、求最大差值五个常用的算法实现。这些算法是程序员基本功的一部分,在处理实际问题时经常能够用到。通过对...
"JSHTML5游戏常用算法之路径搜索算法随机迷宫算法详解【普里姆算法】随机搜索算法" 路径搜索算法是游戏开发中非常重要的一个算法,特别是在 RPG、SLG 中经常用到。在这些游戏中,通过路径指定目的地,人物或者 NPC ...
今天抽点时间把javascript中的一些常用的数组算法做一下总结,以方便大家面试笔试或者日常开发过程中用到。其中部分算法来自网络,这里做了下汇总整理。文章末尾我会把参考的来源附上去,如果直接看算法比较枯燥的...
分而治之算法是一种常用的算法思想,它将原问题分解为多个小问题,解决小问题,然后将小问题的解决方案组合起来,得到原问题的解。这种算法思想在解决复杂问题时非常实用。在JavaScript中,分而治之算法可以使用递归...
JavaScript参考手册和Java常用算法手册是两个非常重要的资源,对于学习和掌握这两种编程语言的开发者来说,它们提供了深入的理解和实践指导。 JavaScript,通常简称为JS,是一种轻量级的解释型编程语言,广泛用于...
所以我用Javascript写了一些基本的算法,也希望其他人可以贡献一份力量,为我们这些热爱Javascript的人制作一个Javascript算法库! 力码 LeetCode 是准备技术面试的好地方,但 LeetCode 的在线评审只支持 C++、Java ...
这个压缩包“一些常用算法的JavaScript实践”提供了JavaScript实现常见算法的实例,可以帮助开发者提升技能,理解并应用这些算法到实际项目中。 在JavaScript-Utilities-master文件夹中,我们可以期待找到一系列与...
JavaScript遗传算法之迷宫寻路是一种利用人工智能技术解决复杂问题的方法。遗传算法是模拟生物进化过程的一种优化技术,常用于解决最优化问题,如路径规划、组合优化等。在这个例子中,我们用JavaScript来实现这一...
集群模式是目前较为常用的一种部署结构,也就是当单机处理能力无法满足业务需求,那么就增加处理节点,并由一个负载均衡器负责请求的调度。然而对于一个庞大系统而言,情况往往比较复杂。集群中节点的处理能力往往各...
JavaScript中的排序算法是编程基础知识的重要组成部分,特别是在处理数据和优化性能时显得尤为关键。本文将深入探讨四种常见的排序算法:冒泡排序、快速排序、选择排序以及插入排序,并通过实例代码进行详细解析。 ...
使用JavaScript在45行中实现... 数组大小= 10000000 用本机排序获取了“ 3706ms” 自定义排序获取“ 1071ms” test3:等于= true 如何使用git clone cd javascript-算法节点--max-old-space-size = 8192 qsort_test.js
JavaScript算法训练营是一个专注于提升JavaScript开发者算法能力的学习资源。在这个训练营中,参与者将深入学习和实践各种算法,从而提高编程技巧,理解数据结构,并掌握解决复杂问题的方法。JavaScript作为前端开发...
总结,"用Js编写的直线裁剪算法和区域填充算法"是一个将计算机图形学理论与实际编程语言相结合的实践项目,通过JavaScript实现,可以在Web环境中直观地展示和操作这些图形处理算法。这不仅有助于理解和掌握这些算法...
JavaScript(简称JS)是一种广泛应用于Web开发的轻量级编程语言,它在处理算法和数据结构方面具有强大的能力。在给定的压缩包文件中,我们涵盖了几个关键的算法实现,包括最短路径问题、排序算法、MD5加密以及DES...
5. JavaScript 实现:JavaScript 是一种常用的编程语言,可以用来实现公历转换农历的算法。 6. ASP.NET 实现:ASP.NET 是一种常用的 Web 应用程序开发平台,可以用来实现公历转换农历的算法。 结论:公历转换农历的...