刚才在做日期格式化时需要将汉字进行编码再解码输出,所以就查了一下,只有字母和数字 [0-9a-zA-Z]
、一些特殊符号 $-_.+!*'(),
,以及某些保留字,才可以不经过编码直接用于 URL;一共有2对编/解码函数:
// 前后一一对应关系:编码和解码
encodeURI 和 decodeURI();
encodeURIComponent() 和 decodeURIComponent();
•••••• 刚才在做日期格式化时需要将汉字进行编码再解码输出,所以就查了一下,只有字母和数字 [0-9a-zA-Z]
、一些特殊符号 $-_.+!*'(),
,以及某些保留字,才可以不经过编码直接用于 URL;一共有2对编/解码函数:
// 前后一一对应关系:编码和解码
encodeURI 和 decodeURI();
encodeURIComponent() 和 decodeURIComponent();
•••••• /**
* 对Date的扩展,将 Date 转化为指定格式的String
* 月(M)、日(d)、12小时(h)、24小时(H)、分(m)、秒(s)、周(E)、季度(q)可以用 1-2 个占位符
* 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
* eg:
* (new Date()).pattern("yyyy-MM-dd hh:mm:ss.S")==> 2006-07-02 08:09:04.423
* (new Date()).pattern("yyyy-MM-dd E HH:mm:ss") ==> 2009-03-10 二 20:09:04
* (new Date()).pattern("yyyy-MM-dd EE hh:mm:ss") ==> 2009-03-10 周二 08:09:04
* (new Date()).pattern("yyyy-MM-dd EEE hh:mm:ss") ==> 2009-03-10 星期二 08:09:04
* (new Date()).pattern("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18
*/
Date.prototype.format = function(format) {
var date = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"h+": this.getHours() % 12 == 0 ? 12 : this.getHours() % 12, //小时
"H+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
},
week = {
"0": "日",
"1": "一",
"2": "二",
"3": "三",
"4": "四",
"5": "五",
"6": "六"
};
// 年(y)的占位符
if(/(y+)/.test(format)){
format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
}
// 周(E)的占位符
if(/(E+)/.test(format)){
format = format.replace(RegExp.$1, ((RegExp.$1.length > 1) ? (RegExp.$1.length>2 ? "星期" : "周") : "") + week[this.getDay() + ""]);
}
// 其他各元素占位符
for(var k in date){
if(new RegExp("(" + k + ")").test(format)){
format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? date[k] : ("00" + date[k]).substr(("" + date[k]).length));
}
}
return format;
}
var newDate = new Date(),
time = Date.parse(new Date("2015/12/12 00:00:00"));
newDate.setTime(time);
console.log(newDate.format("yyyy-MM-dd EE HH:mm:ss"));
最近闲来无事,对之前的电话切换功能的脚本代码进行了重构,废话不多说
••••••(function () { /* code */ } ());
!function () { /* code */ } ();
~function () { /* code */ } ();
-function () { /* code */ } ();
+function () { /* code */ } ();
推荐阅读:http://www.cnblogs.com/TomXu/archive/2011/12/31/2289423.html
alert(true||false); // true
alert(false||true); // true
alert(true||true); // true
alert(false||false); // false
•••••• 面向对象技术是目前流行的系统设计开发技术,它包括面向对象分析和面向对象程序设计。面向对象程序设计技术的提出,主要是为了解决传统程序设计方法——结构化程序设计所不能解决的代码重用问题。
••••••思想要转化,首先得看你是否理解了面向对象,其实过了这个坎,你会发现以后编程中面向对象已经变成了习惯。
••••••!function a(){
console.log('1');
}
a(); // a is not defined
为什么是 a is not defined
?
首先,我要说 !function a(){ console.log('1'); }
这个写法,!
是让后面的函数变为函数表达式,但是你并没有执行它,!function a(){ console.log('1'); }
的实际意思是对这一堆字符串取非,结果就是 false
咯~