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. Kernel 中的 GPIO 定义和控制

    最近要深一步用到GPIO口控制,写个博客记录下Kernel层的GPIO学习过程! 一.概念 General Purpose Input Output (通用输入/输出)简称为GPIO,或 总线扩展器. ...

  2. 关于 mkimage

    在嵌入式系统中,Linux内核和根文件系统一般都与bootloader一起烧写在flash芯片中,系统启动后,bootloader将Linux内核压缩到RAM中,并把压缩的根文件系统复制到RAM中,然 ...

  3. 14、AppWidget及Launcher

    一.Launcher的简单研究 1 什么是Launcher Android系统启动后加载的第一个程序 . 这个程序是其他应用程序的入口 . Launcher构成: HomeScreen : (Work ...

  4. <转>SpringMVC与Struts2 比较总结

    原链接:http://blog.csdn.net/chenleixing/article/details/44570681 个人整理: 1.级别不同:SpringMVC :方法  Struts是 类级 ...

  5. 在中国Windows Azure服务中创建应用程序的一些不同之处

    Azure 中的托管服务由一个应用程序(用于在托管服务中运行)和 XML 配置文件(定义托管服务的运行方式)组成.托管服务同时使用服务定义文件 (.csdef) 和配置文件 (.cscfg).有关详细 ...

  6. 项目用到了lua的哪些部分

    昨天有位同事跟我说,我们的手游客户端(cocos2d-x lua binding)代码没有看到lua的特殊技巧,用起来跟其他语言差不多.<Programming in lua>毕竟有将近4 ...

  7. 今天考试的JAVA编程题

    今天早上考了java, 题目感觉还不错, 共四道题,有一道定义类的没啥意思就没列出来. 这三道题目还是不错的,特别是第一道,大一上学期学linux的时候,那时还没学C语言呢,准确的来说,还不知道什么是 ...

  8. OWC控件的使用

    环境:SQL Server 2005  Analysis Services + OWC 1.1 +Win 7 准备: 1.在SQL Server 2005 Analysis Services建好ola ...

  9. HW6.17

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...

  10. HDU-4689 Derangement DP

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4689 题意:初始序列1,2...n,求所有满足与初始序列规定大小的错排数目.. 这道题目感觉很不错~ ...