1.命名变量,尽量少使用全局变量
function CLogin(){
this.OnDocumentReady = function(){
_SetHook();
};
this.Reg = function() {
};
function _SetHook() {
var login = $("#login");
if ( login )
{
login.off( 'click').on( 'click', _OnButtonClickLogin );;
}
else
{
//...
}
}
function _OnButtonClickLogin( oEvent )
{
}
}
var g_cLogin = new CLogin();
$(function()
{
// Document is ready
g_cLogin.OnDocumentReady();
});
}
2.jquery对象命名 var ojLogin=$("$login");
3.常量命名var CONST_HERO_LIFE=30;
4.URL接口var sReg_url=" http://account.test/api/captcha";
5.面向对象(一)
- function Car(Color,Doors,Mpg) {
- this.color = Color;
- this.doors = Doors;
- this.mpg = Mpg;
- this.showColor = function() {
- return this.color;
- };
- };
- var Car1 = new Car("red",4,23);
- var Car2 = new Car("blue",3,25);
- document.write(Car1.showColor()+"<br/>");//输出:red
- document.write(Car2.showColor());//输出:blue
6.面向对象(二)
- function Car(Color,Doors,Mpg) {
- this.color = Color;
- this.doors = Doors;
- this.mpg = Mpg;
- this.drivers = new Array("Mike","John");
- //如果Car对象中的_initialized为undefined,表明还没有为Car的原型添加方法
- if (typeof Car._initialized == "undefined") {
- Car.prototype.showColor = function() {
- return this.color;
- };
- Car._initialized = true; //设置为true,不必再为prototype添加方法
- }
- }
- var Car1 = new Car("red",4,23);//生成一个Car对象
- var Car2 = new Car("blue",3,25);
- Car1.drivers.push("Bill");//向Car1对象实例的drivers属性添加一个元素
- document.write(Car1.drivers+"<br/>");//输出:Mike,John,Bill
- document.write(Car2.drivers);//输出:Mike,John
var realLength = 0;
var len = str.length;
var charCode = -1;
for(var i = 0; i < len; i++){
charCode = str.charCodeAt(i);
if (charCode >= 0 && charCode <= 128) {
realLength += 1;
}else{
// 如果是中文则长度加2
realLength += 2;
}
}
return realLength;
}
var result=getStrLeng("我的nsfs");
console.log(result);
(000)表单中隐藏input方法的使用,可用于存一些参数,例如注册时图片验证码的genenry密文;登陆成功后,返回的u_mid;以便于之后的操作使用
(000)
function _LoadData() { var m_sOnloadRequestUrl = "http://account.local/api/user"; var ojUmidInput=$(".js-hidden-umid"); $.ajax({ type: "GET", url: m_sOnloadRequestUrl, data: {u_mid:ojUmidInput.val()}, dataType: "json", success: _LoadDataSuccess, error: _LoadDataError }); // } } //数据刷新成功 function _LoadDataSuccess( ojJsonData, textStatus, jqXHR ) { // 页面加载需要显示的信息 var ojUCUserName = $("#username"); var ojSex = $("#sex"); var ojUserBirthday = $("#birthday"); var ojUserPicture = $("#user_picture"); var sUgender; var U_nickname; var U_birthday; if(ojJsonData&&ojJsonData.hasOwnProperty('errorid') &&ojJsonData.hasOwnProperty('vdata') //&&ojJsonData['vdata'].hasOwnProperty('u_nickname') // && ojJsonData['vdata'].hasOwnProperty('u_birth') // && ojJsonData['vdata'].hasOwnProperty('u_imgid') //&& ojJsonData['vdata'].hasOwnProperty('u_gender') ){ if(0==ojJsonData['errorid']) { if(ojJsonData['vdata'].hasOwnProperty('u_nickname')) { U_nickname = ojJsonData['vdata']['u_nickname']; ojUCUserName.text(U_nickname); } if(ojJsonData['vdata'].hasOwnProperty('u_birth')) { U_birthday = ojJsonData['vdata']['u_birth']; ojUserBirthday.text(U_birthday); } if(ojJsonData['vdata'].hasOwnProperty('u_gender')) { sUgender = ojJsonData['vdata']['u_gender']; if (1 == sUgender) { ojSex.text("男"); } else if(2==sUgender){ ojSex.text("女"); } } if(ojJsonData['vdata'].hasOwnProperty('u_imgid')){ ojUserPicture.css("backgroundImg", ojJsonData['vdata']['u_imgid']); } } } } function _LoadDataError( oJqXHR, sStatus, sErrorThrown ) { var ojUCUserName = $("#username"); var ojSex = $("#sex"); var ojUserBirthday = $("#birthday"); ojSex.text("加载失败"); ojUCUserName.text("加载失败") ; ojUserBirthday.text("加载失败"); }
(000000)时间戳和int的互转:
(
function
($) {
$.extend({
myTime: {
/**
* 当前时间戳
* @return <int> unix时间戳(秒)
*/
CurTime:
function
(){
return
Date.parse(
new
Date())/1000;
},
/**
* 日期 转换为 Unix时间戳
* @param <string> 2014-01-01 20:20:20 日期格式
* @return <int> unix时间戳(秒)
*/
DateToUnix:
function
(string) {
var
f = string.split(
' '
, 2);
var
d = (f[0] ? f[0] :
''
).split(
'-'
, 3);
var
t = (f[1] ? f[1] :
''
).split(
':'
, 3);
return
(
new
Date(
parseInt(d[0], 10) ||
null
,
(parseInt(d[1], 10) || 1) - 1,
parseInt(d[2], 10) ||
null
,
parseInt(t[0], 10) ||
null
,
parseInt(t[1], 10) ||
null
,
parseInt(t[2], 10) ||
null
)).getTime() / 1000;
},
/**
* 时间戳转换日期
* @param <int> unixTime 待时间戳(秒)
* @param <bool> isFull 返回完整时间(Y-m-d 或者 Y-m-d H:i:s)
* @param <int> timeZone 时区
*/
UnixToDate:
function
(unixTime, isFull, timeZone) {
if
(
typeof
(timeZone) ==
'number'
)
{
unixTime = parseInt(unixTime) + parseInt(timeZone) * 60 * 60;
}
var
time =
new
Date(unixTime * 1000);
var
ymdhis =
""
;
ymdhis += time.getUTCFullYear() +
"-"
;
ymdhis += (time.getUTCMonth()+1) +
"-"
;
ymdhis += time.getUTCDate();
if
(isFull ===
true
)
{
ymdhis +=
" "
+ time.getUTCHours() +
":"
;
ymdhis += time.getUTCMinutes() +
":"
;
ymdhis += time.getUTCSeconds();
}
return
ymdhis;
}
}
});
})(jQuery);
(000)substr str.substr(0,3) str.substr.(-2)
(000)页面 尽量不用form 会乱 用div section 布局
(000)var arr=[1,2,3,4,5,6]
arr.length 不能直接放在条件语句中判断
条件语句中的length是判断是否存在,若存在,length为1,
要定义变量,var len=arr.length,
if(len==1){}else if(len>1){}