js整理常用方法
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整理常用方法的更多相关文章
- js的常用方法和对象学习
js的常用方法和对象学习String对象:操作字符的. 使用:字符串.函数名. 大小写转换: toUpperCase() 转换大写 toLowerCase() 转换小写 function testSt ...
- js 的常用方法和对象
每日分享: 加油!你一定可以!你是最牛逼的!!!-------------------------------------------------------------------------- - ...
- js数组常用方法整理
学疏才浅,若有不对的地方,希望大家可以帮忙指正出来. 1. Array.push(),向数组的末尾添加一个或多个元素,并返回新的数组长度.原数组改变. 2. Array.pop(),删除并返回数组的最 ...
- Dynamics CRM 日常使用JS整理(二)
BPF(Business Process Flow)相关的JS 为Stage添加changed或者selected事件: function fnOnLoad() { Xrm.Page.data.pro ...
- Dynamics CRM 日常使用JS整理(一)
整理下平时CRM开发中用到的一些基本的js操作 取值: var oResult = Xrm.Page.getAttribute(sFieldName).getValue(); var oResult ...
- Underscore.js 入门-常用方法介绍
Underscore.js是一个很精干的库,压缩后只有4KB.它提供了几十种函数式编程的方法,弥补了标准库的不足,大大方便了JavaScript的编程.MVC框架Backbone.js就将这个库作为自 ...
- js整理
Js脚本语音 网页里面使用的脚本语音 基础语法 注释语法 单行注释// 多行注释/**/ 嵌入js代码 尽量靠下写 用<script type="text/javascript& ...
- Vue.js 整理笔记
以前我们用Jquery进行dom的操作,虽然熟悉后开发效率很高,但是如果多个控件的相互操作多的情况下,还是会乱.相比之下,Vue的使用更加清晰,通过虚拟dom将数据绑定,而且组件化和路由的帮助下,让整 ...
- common.js js中常用方法
//创建CSS样式段 //classid: CSS样式段ID//font: 字体//size: 字体大小//color: 字体颜色//style: 字体风格function FCMakeCSSClas ...
随机推荐
- CF GYM 100703I Endeavor for perfection
题意:有n个学习领域,每个领域有m个课程,学习第i个领域的第j个课程可以获得sij个技能点,在每个领域中选择一个课程,要求获得的n个技能点的最大值减最小值最小,输出符合要求的策略. 解法:尺取法.将课 ...
- 【转】ubuntu 编码 UTF-8 GBK GB18030
添加编码支持 sudo locale-gen zh_CN.GBK sudo locale-gen zh_CN.GB2312 sudo locale-gen zh_CN.GB18030 2.更新一下lo ...
- wuzhicms短信API 实例调用
1.接口调用 $sendsms = load_class('sms','sms'); echo $sendsms->send_sms('18911549611', '888888', 1); / ...
- HDU 3289 Cat VS Dog (二分匹配 求 最大独立集)
题意:每个人有喜欢的猫和不喜欢的狗.留下他喜欢的猫他就高心,否则不高心.问最后最多有几个人高心. 思路:二分图求最大匹配 #include<cstdio> #include<cstr ...
- Codeforces 603A Alternative Thinking
题意:给你一个01串,必须替换一次,且替换的为子串.问换完后,最大01串长度. #include <bits/stdc++.h> typedef long long ll; using n ...
- HW6.7
public class Solution { public static void main(String[] args) { int[] count = new int[10]; int numb ...
- hdu 3617 Happy 2009
Happy 2009 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- [Xcode使用 - 2] 设置APP图标和启动画面
1.App Icon 把所有图标文件拖放到 “Images.xcassets” 的”AppIcon” 里面 应对非视网膜和视网膜屏,APP有时会提供两套不同大小的图片,1倍图和2倍图,它们 ...
- oracle 在表中有数据的情况下修改表字段类型或缩小长度
分享自己一些常用的sql语句给大家 偶尔我们需要在已有表,并且有数据的情况下,修改其某个字段的类型或缩短他的长度,但是因为表中有数据,所以不可以直接修改,需要换个思路. //建立测试表,可跳过(善于应 ...
- Git客户单for Windows
1.GItHub for Windows 可参考:http://www.ihref.com/read-16514.html