javascript对象合并或追加属性的方法
function objMerger(obj1, obj2){
for(var r in obj2){
//eval("obj1."+r+"=obj2."+r);
//或
obj1[r] = obj2[r]; //obj1.r或obj2.r错误的
}
return obj1;
}
var obj = {a:'aa',b:'bb'};
var shuxing = {c:'c1',d:'d1',e:55}
obj = objMerger(obj, shuxing);
console.log(obj);
console.log(obj.a+'__'+obj['a']); //这是正确的;obj[a]错误的
上面的例子中:r是一个变量,a和b是变量名字,故变量名字可以直接用.或['变量名字'],而变量只能用[变量]
//验证字符个数
function checkNum(chars){
var sum = 0;
for(var i=0;i<chars.length;i++){
var c = chars.charCodeAt(i);
if((c>=0x0001 &&c<=0x007e)||(0xff60<=c && c<=0xff9f)){
sum++;
}else{
sum+=2;
}
}
return sum;
}
//判断input只能输入数字
function IsNum(e) {
var k = window.event ? e.keyCode : e.which;
if (((k >= 48) && (k <= 57)) || k == 8 || k == 0) {
} else {
if (window.event) {
window.event.returnValue = false;
}
else {
e.preventDefault(); //for firefox
}
}
}
//编码url
function getEscapeParamStr (jsonData){
if (!jsonData) return '';
var qarr = [];
for(i in jsonData){
qarr.push(i+"="+encodeURIComponent(jsonData[i]));
}
return qarr.join('&');
}
/*
* 判断对象是否为空
* return boolean 为空返回true,否则返回false
* (例如为obj = {} 或 obj = null都是为空的)
*/
function isNullObject(object){
if(!object)return true;
for(var i in object){
return false;
}
return true;
}
/**
* 合并对象,把对象obj2合并到对象obj1上
* @param obj1
* @param obj2
* @returns
*/
function objMerger(obj1, obj2){
for(var r in obj2){
obj1[r] = obj2[r];
}
return obj1;
}
/**
* 输出对象属性个数
* @param obj
* @returns {Number}
*/
function countObject(obj){
var num = 0;
if(!obj)return num;
for(var i in obj){
num ++;
}
return num;
}
function checkTime (startTime,endTime,type){
if(!startTime){
jsAlert('起始日期不能为空');
return false;
}
if(!endTime){
jsAlert('结束日期不能为空');
return false;
}
if( startTime > endTime){
jsAlert('请输入正确的日期范围');
return false;
}
var myDate = new Date();
var date = myDate.getFullYear()+"-"+(myDate.getMonth()+1)+"-"+myDate.getDate();
//当前时间和开始时间相差天数
var day = dateDiff('D',startTime,date);
if(day > 180){
jsAlert('开始时间在180天内');
return false;
}
//结束时间和开始时间相差天数
day = dateDiff('D', startTime, endTime);
if('list' == type){
if(day > 14){
jsAlert('开始时间结束时间之间不能超过2周');
return false;
}
}else if('export' == type){
if(day > 31){
jsAlert('导出时时间范围在1个月(31)天内');
return false;
}
}
return true;
}
//计算日期差
function dateDiff(interval, date1, date2)
{
var objInterval = {
'D':1000 * 60 * 60 * 24,
'H':1000 * 60 * 60,
'M':1000 * 60,
'S':1000,
'T':1
};
interval = interval.toUpperCase();
var dt1 = new Date(Date.parse(date1.replace(/-/g, '/')));
var dt2 = new Date(Date.parse(date2.replace(/-/g, '/')));
try
{
return Math.round((dt2.getTime() - dt1.getTime()) / eval('objInterval.'+interval));
}
catch (e)
{
return e.message;
}
}
autoClearCache();
//js刷新页面js缓存的方法
function autoClearCache(){
var clearCacheHtml= ''
+'<META HTTP-EQUIV="pragma" CONTENT="no-cache">'
+'<META HTTP-EQUIV="Cache-Control" CONTENT="no-store, must-revalidate">'
+'<META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">'
+' <META HTTP-EQUIV="expires" CONTENT="0"> ';
$('head').append(clearCacheHtml);
}
//动态的引入js文件或在一个js文件中引入另一个js文件
//document.write("<script type='text/javascript' language='javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js' ></script>"); //window.location.reload();
var src = 'http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js';
LoadJS(src);
init();
var num = 0;
function init(){
num++;
var datas = {_t:0,category:9999,mid:3646697885979296,soururl:'',srvid:''};
datas.reason ='找不到张艺谋”,谁信?'+num;
var url = "http://hot.weibo.com/ajax/addone?__rnd=1384929440619";
$.post(url,datas,function(msg){
console.log(num);
if(num < 10){
setTimeout(init,800);
}
});
} function LoadJS(src){
var headObj = document.getElementsByTagName("head")[0];
srciptObj = document.createElement("script");
srciptObj.language = "javascript";
srciptObj.type = "text/javascript";
srciptObj.src = src;
headObj.appendChild(srciptObj);
}
//检测对象是否为空
function type(o){
return (o === null) ? "null" : (typeof o);
}
// 安全检测JavaScript基本数据类型和内置对象
// 参数:o表示检测的值
/* 返回值:返回字符串"undefined"、"number"、"boolean"、
"string"、"function"、"regexp"、"array"、"date"、"error"、"object"或"null" */
function typeOf(o){
var _toString = Object.prototype.toString;
// 获取对象的toString()方法引用
// 列举基本数据类型和内置对象类型,可以进一步补充该数组的检测数据类型范围
var _type ={
"undefined" : "undefined",
"number" : "number",
"boolean" : "boolean",
"string" : "string",
"[object Function]" : "function",
"[object RegExp]" : "regexp",
"[object Array]" : "array",
"[object Date]" : "date",
"[object Error]" : "error"
}
return _type[typeof o] || _type[_toString.call(o)] || (o ? "object" : "null");
} //应用示例:
var a = Math.abs;
alert(typeOf(a)); //"function"
日期时间转换(int类型的时间戳转换为年月日时分秒)
function getLocalTime(nS) {
return new Date(parseInt(nS) * 1000).toLocaleString().replace(/:\d{1,2}$/,' ');
}

cache.ltime = new Date(parseInt(detail.created_time)*1000).toLocaleString().replace(/[年月]/g,'/').replace(/[日]/g,'');

js整理常用方法的更多相关文章

  1. js的常用方法和对象学习

    js的常用方法和对象学习String对象:操作字符的. 使用:字符串.函数名. 大小写转换: toUpperCase() 转换大写 toLowerCase() 转换小写 function testSt ...

  2. js 的常用方法和对象

    每日分享: 加油!你一定可以!你是最牛逼的!!!-------------------------------------------------------------------------- - ...

  3. js数组常用方法整理

    学疏才浅,若有不对的地方,希望大家可以帮忙指正出来. 1. Array.push(),向数组的末尾添加一个或多个元素,并返回新的数组长度.原数组改变. 2. Array.pop(),删除并返回数组的最 ...

  4. Dynamics CRM 日常使用JS整理(二)

    BPF(Business Process Flow)相关的JS 为Stage添加changed或者selected事件: function fnOnLoad() { Xrm.Page.data.pro ...

  5. Dynamics CRM 日常使用JS整理(一)

    整理下平时CRM开发中用到的一些基本的js操作 取值: var oResult = Xrm.Page.getAttribute(sFieldName).getValue(); var oResult ...

  6. Underscore.js 入门-常用方法介绍

    Underscore.js是一个很精干的库,压缩后只有4KB.它提供了几十种函数式编程的方法,弥补了标准库的不足,大大方便了JavaScript的编程.MVC框架Backbone.js就将这个库作为自 ...

  7. js整理

    Js脚本语音 网页里面使用的脚本语音 基础语法 注释语法  单行注释// 多行注释/**/ 嵌入js代码  尽量靠下写  用<script type="text/javascript& ...

  8. Vue.js 整理笔记

    以前我们用Jquery进行dom的操作,虽然熟悉后开发效率很高,但是如果多个控件的相互操作多的情况下,还是会乱.相比之下,Vue的使用更加清晰,通过虚拟dom将数据绑定,而且组件化和路由的帮助下,让整 ...

  9. common.js js中常用方法

    //创建CSS样式段 //classid: CSS样式段ID//font: 字体//size: 字体大小//color: 字体颜色//style: 字体风格function FCMakeCSSClas ...

随机推荐

  1. guake默认快捷键

    toggle guake visibility   切换guake可见 :F12 toggle fullscreen   切换全屏幕 :F11 quit   退出 :Shift+Ctrl+Q new ...

  2. 怎么学数学[How to Study Math]

  3. 求一字符串最长不重复字符子串的长度【Java 版】

    一. 前言 最近学习有点断断续续,整理的一些知识点要么不完整,要么完全没搞懂,不好拿上台面,还是先在草稿箱躺着吧.偶尔在浏览大牛博客http://coolshell.cn的时候,发现大牛业余时间也在做 ...

  4. xmbc 资源

    http://raspberrypi.diandian.com/post/2013-02-25/40048470423 http://blog.csdn.net/lincyang/article/de ...

  5. theano学习指南5(翻译)- 降噪自动编码器

    降噪自动编码器是经典的自动编码器的一种扩展,它最初被当作深度网络的一个模块使用 [Vincent08].这篇指南中,我们首先也简单的讨论一下自动编码器. 自动编码器 文献[Bengio09] 给出了自 ...

  6. NOIP2011 观光公交

    3.观光公交 (bus.cpp/c/pas) 风景迷人的小城 Y 市,拥有 n 个美丽的景点.由于慕名而来的游客越来越多,Y 市特 意安排了一辆观光公交车,为游客提供更便捷的交通服务.观光公交车在第 ...

  7. Magento 切换成中文后没有数据信息解决办法

    进入后台的, 选择CMS---pages, 看到这个么? 如果这里显示的不是所有商店界面的话, 就点击进去,然后选择所有商店界面: 如下所示: 再点击保存就可以了.

  8. MapReduce之Partition的使用与分析

    Partition主要作用就是将map的结果发送到相应的reduce.这就对partition有两个要求: 1)均衡负载,尽量的将工作均匀的分配给不同的reduce. 2)效率,分配速度一定要快. M ...

  9. 现代程序设计——homework-02

    关于题目: 题目地址:http://www.cnblogs.com/xinz/p/3318230.html 首先,不得不说自从写完第一次作业,我就开始“抠”这个题,第一眼看这个题就感觉好“坑”,读一遍 ...

  10. light oj 1214 - Large Division

    1214 - Large Division   PDF (English) Statistics Forum Time Limit: 1 second(s) Memory Limit: 32 MB G ...