1.json转字符串
function json2str(o) { var arr = []; var fmt = function (s) { if (typeof s == 'object' && s != null) return json2str(s); return /^(string|number)$/.test(typeof s) ? "'" + s + "'" : s; }; for (var i in o) arr.push("'" + i + "':" + fmt(o[i])); return '{' + arr.join(',') + '}'; }
2.时间戳转为Date
function fromUnixTime(timeStamp) { if (!timeStamp || timeStamp < 1000 || timeStamp == ' ') return ""; var theDate = new Date(parseInt(timeStamp) * 1000); return theDate; }
3.Data-format
// 作者: meizz // 对Date的扩展,将 Date 转化为指定格式的String // 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) // 例子: // (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2012-12-02 08:12:04.423 // (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2012-12-02 8:12:4.18 Date.prototype.Format = function(fmt) { var o = { "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日 "h+": this.getHours(), //小时 "m+": this.getMinutes(), //分 "s+": this.getSeconds(), //秒 "q+": Math.floor((this.getMonth() + 3) / 3), //季度 "S": this.getMilliseconds() //毫秒 }; if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); for (var k in o) if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); return fmt; };
4.日期上增加n天
function addDay(number) { return fromUnixTime(new Date().getTime() / 1000 + 24 * 60 * 60 * number); }
5. 使用 iframe 时,父窗体与子窗体之间的相互调用
// 父窗体调用子窗体内的函数 window.frames['ifm_id'].valueChange("id_101"); // 子窗体调用父窗体的函数 parent.refreshTree("nodeId_202");
6. 弹出窗体与返回值
// 弹出窗体 var url = "http://www.baidu.com"; win=window.showModalDialog(url,window,"dialogLeft:400;dialogTop:200;dialogWidth:560px;dialogHeight:380px;scroll:yes;menubar:no;toolbar:no;status:no;"); // 在弹出窗体中设置返回值 var result = new Array(); result[0] = "id_101"; result[1] = "name_202"; window.returnValue = result; window.close();
7. javascript 作用域[只有全局作用域和函数作用域,javascript没有块作用域]
// 1. 全局作用域 var id = "global variable"; // 1.1 在函数外部定义的变量 function showMsg(){ message = "global message";// 1.2 未定义而直接赋值的变量 // 在第一次使用时被定义为全局变量 } // 2. 函数作用域 function doCheck(){ var data = "function data";// 2.1 在函数内部定义的变量 }
8. javascript 继承机制
// 1. 对象冒充继承 function Person(strName){ // private fields var name = strName; // public methods this.getName = function(){ return name; }; } function Student(strName,strSchool){ // 定义父类的属性及方法 this.parent = Person; this.parent(strName); delete this.parent; // 删除临时变量 parent // 定义新属性及方法 // private fields var school = strSchool; // public methods this.getSchool = function(){ return school; }; } // 2. Funtion 对象的 call(..) 或 apply(..) 继承 // call 和 apply 的区别在于: // call 的第二个参数为可变参数; // apply 的第二个参数为 Array; function Animal(strName,intAge){ // private fields var name = strName; var age = intAge; // public methods this.getName = function(){ return name; }; this.getAge = function(){ return age; }; } function Cat(strName,intAge,strColor){ // 定义父类的属性及方法 Animal.call(this,strName,intAge); // Animal.apply(this,new Array(strName,intAge)); // 定义新属性及方法 // private fields var color = strColor; // public methods this.getInfo = function(){ return "name:" + this.getName() + "\n" + "age:" + this.getAge() + "\n" + "color:" + color; }; } // 3. prototype 继承 // prototype 声明的属性及方法被所有对象共享 // prototype 只有在读属性的时候会用到 Function.prototype.extend = function(superClass){ // 此处的 F 是为了避免子类访问父类中的属性 this.xxx function F(){}; F.prototype = superClass.prototype; // 父类构造函数 this.superConstructor = superClass; this.superClass = superClass.prototype; this.prototype = new F(); this.prototype.constructor = this; }; Function.prototype.mixin = function(props){ for (var p in props){ this.prototype[p] = props[p]; } }; function Box(){} Box.prototype = { getText : function(){ return this.text; }, setText : function(text){ this.text = text; } }; function CheckBox(){} CheckBox.extend(Box); CheckBox.mixin({ isChecked : function(){ return this.checked; }, setChecked : function(checked){ this.checked = checked; } });
9. call , apply & bind
// thisArg 表示在 fun 内部时 this 所指示的对象 // call & apply 将立即执行 fun 并返回结果 var result = fun.call(thisArg,arg1,...); var result = fun.apply(thisArg,[argsArray]); // thisArg 表示在 fun 内部时 this 所指示的对象 // bind 返回的是一个匿名函数 var tmpfun = fun.bind(thisArg); var result = tmpfun(arg1,...);
<script type="text/javascript"> /** * 扩展 Function 的功能 */ Function.prototype.bind = function(obj){ var method = this; var tmpfun = function(){ return method.apply(obj,arguments); }; return tmpfun; } function Parent(){ this.name = "parent"; } function Child(){ this.name = "child"; this.getName = function(time){ return time + " " + this.name; }; } var parent = new Parent(); var child = new Child(); alert(child.getName(1)); // show 1 child alert(child.getName.call(parent,2)); // show 2 parent [call & apply 会立即执行] var tmpfun = child.getName.bind(parent);// bind 不会立即执行 alert(tmpfun(3)); // show 3 parent </script>
10. js "==" Operator
转换规则 如果一个操作数是 Boolean 值,则比较之前将其转成数字:false -> 0, true -> 1; 如果一个操作数是数字,另一操作数是字符串,则比较之前将字符串转成数字; 如果一个操作数是对象,另一操作数是数字或字符串,则比较之前会将对象转为基本类型, 引擎会先尝试调用 valueOf(),如果 valueOf() 没有 override 或返回一个对象, 则引擎会尝试调用 toString(),如果 toString() 没有 override 或返回一个对象,则抛出异常; 如果是两个对象进行比较,则判断它们是否引用同一对象; 如果一个操作数是 NaN, == 将返回 false, != 将返回 true; null 和 undefined 与其它值比较将返回 false, 但 null == null, undefined == undefined, null == undefined; 参与比较时 null 和 undefined 不能转为其它值;
本文向大家介绍分享javascript、jquery实用代码段,包括了分享javascript、jquery实用代码段的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家简单分享javascript、jquery实用demo,供大家参考,具体内容如下 javascript判断H5页面离开 jq判断img标签图片地址是否已经加载完毕 iframe获取内容-和设置 javascript获取浏览器上
本文向大家介绍PHP常用的小程序代码段,包括了PHP常用的小程序代码段的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP常用的小程序代码段。分享给大家供大家参考,具体如下: 1.计算两个时间的相差几天 上面的php时间日期函数strtotime已经把字符串日期变成了时间戳,这样只要让两数值相减,然后把秒变成天就可以了,比较的简单,如下: 2.分页 3.获取手机归属地(有时间,可以写一个
求一段js代码解密? 另外还有一个js文件,代码如下:
代码段是一个非常有效的工具,可以从一个快捷方式中快速生成常用的代码语法。 这就是说,你可以输入一些类似于habtm的东西,然后按下回车键,他就会扩展为has_and_belongs_to_many。 许多包自带他们自己的,具有特定模式的代码段。比如,提供了html语法高亮和语法的language-html包提供了许多代码段,来创建一些你想使用的不同HTML标签。如果你在Atom中创建一个新的HTM
本文向大家介绍非常实用的12个jquery代码片段,包括了非常实用的12个jquery代码片段的使用技巧和注意事项,需要的朋友参考一下 jQuery里提供了许多创建交互式网站的方法,在开发Web项目时,开发人员应该好好利用jQuery代码,它们不仅能给网站带来各种动画、特效,还会提高网站的用户体验。 本文收集了12段非常实用的jQuery代码片段,你可以直接复制黏贴到代码里,但请开发者注意了,要理
本文向大家介绍46 个非常有用的 PHP 代码片段,包括了46 个非常有用的 PHP 代码片段的使用技巧和注意事项,需要的朋友参考一下 这些 PHP 片段对于 PHP 初学者也非常有帮助,非常容易学习,让我们开始学习吧~ 1. 发送 SMS 在开发 Web 或者移动应用的时候,经常会遇到需要发送 SMS 给用户,或者因为登录原因,或者是为了发送信息。下面的 PHP 代码就实现了发送 SMS 的功能