常用原生js自定义函数总结

作者:jingxian 时间:2024-04-16 09:05:57 

js获取日期函数


//获取当前时间日期
function CurentTime()
{
 var now = new Date();
 var year = now.getFullYear();    //年
 var month = now.getMonth() + 1;   //月
 var day = now.getDate();      //日
 var hh = now.getHours();      //时
 var mm = now.getMinutes();     //分
 var clock = year + "-";

if(month < 10)
   clock += "0";

clock += month + "-";

if(day < 10)
   clock += "0";

clock += day + " ";

if(hh < 10)
   clock += "0";

clock += hh + ":";
 if (mm < 10) clock += '0';
 clock += mm;
 return(clock);
}

js获取时间差函数


//获取时间差多少天
function getLastTime()
 {
   var startTime=new Date("1996-5-11 00:00"); //开始时间
   var endTime=new Date();  //结束时间
   var lastTime=endTime.getTime()-startTime.getTime() //时间差的毫秒数

//计算出相差天数
   var days=Math.floor(lastTime/(24*3600*1000))

//计算出小时数
   var leave1=lastTime%(24*3600*1000)  //计算天数后剩余的毫秒数
   var hours=Math.floor(leave1/(3600*1000))
   //计算相差分钟数
   var leave2=leave1%(3600*1000)    //计算小时数后剩余的毫秒数
   var minutes=Math.floor(leave2/(60*1000))

//计算相差秒数
   var leave3=leave2%(60*1000)   //计算分钟数后剩余的毫秒数
   var seconds=Math.round(leave3/1000)

return " 相差 "+days+"天 "+hours+"小时 "+minutes+" 分钟"+seconds+" 秒";
 }

js只自动刷新页面一次


//自动刷新页面一次后停止刷新
window.onload = function(){
 if(location.search.indexOf("?")==-1){
  location.href += "?myurl";
 }
 else{
  if(location.search.indexOf("myurl")==-1) location.href += "&myurl";
 }
}

ajax实例


$.ajax({
   type: "POST",
   url: "join.php",
   data: dataString,
   success: function(){
     $('.success').fadeIn(200).show();
     $('.error').fadeOut(200).hide();
   }
 });

实时获取窗口大小


$(window).resize(function(){
 var Height = $(window).height();
 var Width = $(window).width();
})

js循环执行函数和定时执行函数


//循环执行,每隔3秒钟执行一次showalert()
 window.setInterval(showalert, 3000);
 function showalert()
 {
   alert("循环执行");
 }
 //定时执行,5秒后执行show()
 window.setTimeout(show,5000);
  function show()
  {

alert("定时执行");
  }

js获取get参数函数


function GetQueryString(name)
{
  var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
  var r = window.location.search.substr(1).match(reg);
  if(r!=null)return unescape(r[2]); return null;
}
alert(GetQueryString("参数名1"));

js页面打印数组函数


/**
 * 打印数组
 * @param {[type]} arr  要打印的数组
 * @param {[type]} space 控制打印的缩进
 * @param {[type]} space2 控制打印的缩进2
 */
 function print_arr(arr, space, space2)
 {

space = space || '&nbsp;';

space2 = space2 || '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';

var str = "Array<br>"+space+"(<br>";

for(var i=0; i<arr.length; i++)

{

if( Object.prototype.toString.call(arr[i]) == '[object Array]' )

{ //判断是否是数组,如果是,进行递归拼接

str += space2 + '[' +i+"] => "+ print_arr(arr[i], space+'   ', space2+'   ');

}

else

{

str += space2 +'['+i+"] => "+ arr[i] +"<br>";

}

}

str += space+")<br>";

document.write(str);

}

js打印json数据成数组形式输出在html


/** 输出空格函数 */
function blank(num) {
var res = '';
for (var i = 0; i < num; i++) {
 res += ' ';
}
return res;
}  

/** 计算JSON对象数据个数 */
function jsonLen(jsonObj) {
var length = 0;
for (var item in jsonObj) {
   length++;
}
return length;
}

/** 解析JSON对象函数 */
function printObj(obj) {
// JSON对象层级深度
deep = (typeof(deep)=='undefined') ? 0: deep;
var html = "Array\n"; // 返回的HTML
html += kong(deep) + "(\n";
var i = 0;
// JSON对象,不能使用.length获取数据的个数,故需自定义一个计算函数
var len = typeof(obj) == 'array' ? obj.length : jsonLen(obj);
for(var key in obj){
 // 判断数据类型,如果是数组或对象,则进行递归
 // 判断object类型时,&&jsonLen(obj[key])是由于
 // 1、值(类似:email:)为null的时候,typeof(obj[key])会把这个key当做object类型
 // 2、值为null的来源是,数据库表中某些字段没有数据,查询之后直接转为JSON返回过来
 if(typeof(obj[key])=='array'|| (typeof(obj[key])=='object' && jsonLen(obj[key]) > 0) ){
  deep += 3;
  html += kong(deep) + '[' + key + '] => ';
  // 递归调用本函数
  html += printObj(obj[key],deep);
  deep -= 3;
 }else{
  html += kong(deep + 3) + '[' + key + '] => ' + obj[key] + '\n';
 }
 if (i == len -1) {
  html += kong(deep) + ")\n";
 };
 i++;
}
return html;
}

/** 向HTML页面追加打印JSON数据 */
function p_Obj(obj) {
var div = document.getElementById('print-json-html');
if (div != null) {
 document.body.removeChild(div);
};
var node = document.createElement("div");//创建一个div标签
node.id = 'print-json-html';
node.innerHTML = '<pre>' + printObj(obj) + '</pre>';
document.body.appendChild(node);
}

js打印多维数组的数组长度函数


//获取多维数组的数量
 function getArrNum(arr) {

var eleNum = 0;

if (arr == null) {

return 0;

}

for (var i = 0; i < arr.length; i++) {

for (var j = 0; j < arr[i].length; j++) {

eleNum++;

}

}

document.write(eleNum);

}
标签:js,自定义,函数
0
投稿

猜你喜欢

  • 如何通过阿里云实现动态域名解析DDNS的方法

    2022-05-30 23:04:50
  • MySQL创建数据库和创建数据表

    2024-01-26 14:44:55
  • 分享十个Python超级好用提高工作效率的自动化脚本

    2021-06-26 17:17:16
  • python 实现调用子文件下的模块方法

    2022-02-02 16:39:38
  • Python tkinter库图形绘制例子分享

    2023-05-29 13:19:51
  • Python还能这么玩之用Python修改了班花的开机密码

    2023-11-23 17:38:40
  • Go语言底层原理互斥锁的实现原理

    2024-04-25 15:00:24
  • MySQL中将一列以逗号分隔的值行转列的实现

    2024-01-20 15:31:23
  • python asyncio 协程库的使用

    2022-09-13 13:28:16
  • CSS框架/命名/规则 注意要点

    2008-06-03 13:07:00
  • Django request.META.get()获取不到header头的原因分析

    2021-03-16 00:22:39
  • 用ASP和SQL实现基于Web日历源码

    2010-04-24 15:52:00
  • 基于Django框架利用Ajax实现点赞功能实例代码

    2022-01-29 02:35:38
  • Python爬取微信小程序通用方法代码实例详解

    2021-04-08 15:30:09
  • Vue中使用vux配置代码详解

    2023-07-02 16:39:45
  • 登录与注册两者的距离

    2009-01-02 16:48:00
  • Go Slice进行参数传递如何实现详解

    2024-02-16 13:07:46
  • Mysql主从数据库(Master/Slave)同步配置与常见错误

    2024-01-21 17:48:35
  • Oracle使用触发器和mysql中使用触发器的案例比较

    2024-01-26 02:46:49
  • 可以在线创建文件夹吗?

    2009-11-01 18:07:00
  • asp之家 网络编程 m.aspxhome.com