開發(fā)過程中總有些自己經(jīng)驗(yàn),自己的錯(cuò)誤。
1.根據(jù)字符串獲取毫秒
var a = "2007-8-14".split("-");
var date = new Date(a[0], Math.round(a[1]) - 1, a[2]).getTime();
alert(date);
2.根據(jù)毫秒 獲取時(shí)間字符串
var date = new Date (parseInt("1193823804000"));
alert(date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate()+" "+date.getHours()+":"+date.getMinutes()+":"+date.getSeconds());
3.輸入框如果不是數(shù)字就使用一個(gè)默認(rèn)值
var value = $('_id').value;
var nomal = 10;
而將要提交的值設(shè)置為 :parseInt(value)||nomal 就行了。
這里用了以前數(shù)字電路中的一個(gè)短路原理。
FeedBack:
# re: JavaScript 中一些技巧
2008-03-10 22:31 | java-he
4.并非什么都和自己想象的一樣
var x = 0.9509;
var y = 1 - x;
document.write(y)//0.04910000000000003; 回復(fù) 更多評(píng)論
var x = 0.9509;
var y = 1 - x;
document.write(y)//0.04910000000000003; 回復(fù) 更多評(píng)論
# re: JavaScript 中一些技巧
2008-03-14 09:05 | java-he
5.對(duì)時(shí)間先后的判斷
_log_time_end = (new Date(_arrTemp[0], Math.round(_arrTemp[1]) - 1, _arrTemp[2]).getTime()/1000+24*60*60).toString();
if(parseInt(_log_time_start)>= parseInt(_log_time_end))
{
alert('結(jié)束時(shí)間必須大于起始時(shí)間');
return;
}
當(dāng)初取到秒數(shù)就直接判斷,可以用數(shù)字去構(gòu)造new Date 但是,必定生成的是Date對(duì)象,所以還是parseInt。【有過沒加的錯(cuò)誤經(jīng)驗(yàn)】 回復(fù) 更多評(píng)論
_log_time_end = (new Date(_arrTemp[0], Math.round(_arrTemp[1]) - 1, _arrTemp[2]).getTime()/1000+24*60*60).toString();
if(parseInt(_log_time_start)>= parseInt(_log_time_end))
{
alert('結(jié)束時(shí)間必須大于起始時(shí)間');
return;
}
當(dāng)初取到秒數(shù)就直接判斷,可以用數(shù)字去構(gòu)造new Date 但是,必定生成的是Date對(duì)象,所以還是parseInt。【有過沒加的錯(cuò)誤經(jīng)驗(yàn)】 回復(fù) 更多評(píng)論
2009-07-21 11:05 | hechangmin
1. 全局變量覆蓋
var a=100;
var b=true;
function test()
{
alert(a); // undeined
alert(b); // true
var a = 9;
}
上面這段腳本,輸出結(jié)果是undeined 和 true 。
當(dāng)函數(shù)域中,有變量聲明或者定義。 如果這個(gè)變量和全局變量同名,則會(huì)覆蓋全局變量。
把聲明和賦值分開看,然后把聲明放在前面去。這是等效的:
var a
alert(a); // undeined
alert(b); // true
a = 9;
2. 想修改iframe其內(nèi)的頁面
同一個(gè)域名下可以,不同域名下還是不可以的。
空口說話不是我的風(fēng)格,還是看下范例代碼:
html:
<script type="text/javascript" src="lib/jquery/jquery-1.3.2.min.js"></script>
</head>
<body>
<iframe id="test1" name="test1" width=100 height=60 src="about.html"></iframe>
<iframe id="test2" name="test2" width=100 height=60 src="http://www.126.com"></iframe>
<input type="button" value="test1" onclick="alert(test1.document.body.innerHTML)">
<input type="button" value="test2" onclick="alert(test2.document.body.innerHTML)">
</body>
3. 可以利用ajax 來讀取文件
簡單范例(不要追究其丑陋):
var xmlHTTP;
try
{
xmlHTTP = new ActiveXObject( "Microsoft.XMLHTTP") || false;
if( false === xmlHTTP)
{
xmlHTTP = new ActiveXObject('Msxml2.XMLHTTP') || false;
}
}catch(e)
{
xmlHTTP = new XMLHttpRequest();
}
xmlHTTP.open( "POST", "a.html",false);
xmlHTTP.send();
var strResult = xmlHTTP.responseText;
4. 閉包在書本上有些晦澀
用自己的話總結(jié)下吧。
特點(diǎn):返回匿名函數(shù)
特性:由于返回匿名函數(shù),所以父函數(shù)無法由垃圾回收機(jī)制回收。
技巧:可以在聲明時(shí)初始化參數(shù),使得運(yùn)行環(huán)境保留著聲明時(shí)的情況。
舉例:
var a = function(_i)
{
return function()
{
alert(_i);
}
};
a(10)();
// 也可以 如下
var a = function(_i)
{
return function()
{
alert(_i);
}
}(i);
在聲明的時(shí)候就動(dòng)態(tài)指定了運(yùn)行中的參數(shù)。
var b = function()
{
return function(_i)
{
alert(_i);
}
};
b()(10);
5. 跨域的問題 利用dom 動(dòng)態(tài)改變script 的src 就能實(shí)現(xiàn)這個(gè)效果。 jquery中的動(dòng)態(tài)加載js也是這個(gè)原理。 回復(fù) 更多評(píng)論
var a=100;
var b=true;
function test()
{
alert(a); // undeined
alert(b); // true
var a = 9;
}
上面這段腳本,輸出結(jié)果是undeined 和 true 。
當(dāng)函數(shù)域中,有變量聲明或者定義。 如果這個(gè)變量和全局變量同名,則會(huì)覆蓋全局變量。
把聲明和賦值分開看,然后把聲明放在前面去。這是等效的:
var a
alert(a); // undeined
alert(b); // true
a = 9;
2. 想修改iframe其內(nèi)的頁面
同一個(gè)域名下可以,不同域名下還是不可以的。
空口說話不是我的風(fēng)格,還是看下范例代碼:
html:
<script type="text/javascript" src="lib/jquery/jquery-1.3.2.min.js"></script>
</head>
<body>
<iframe id="test1" name="test1" width=100 height=60 src="about.html"></iframe>
<iframe id="test2" name="test2" width=100 height=60 src="http://www.126.com"></iframe>
<input type="button" value="test1" onclick="alert(test1.document.body.innerHTML)">
<input type="button" value="test2" onclick="alert(test2.document.body.innerHTML)">
</body>
3. 可以利用ajax 來讀取文件
簡單范例(不要追究其丑陋):
var xmlHTTP;
try
{
xmlHTTP = new ActiveXObject( "Microsoft.XMLHTTP") || false;
if( false === xmlHTTP)
{
xmlHTTP = new ActiveXObject('Msxml2.XMLHTTP') || false;
}
}catch(e)
{
xmlHTTP = new XMLHttpRequest();
}
xmlHTTP.open( "POST", "a.html",false);
xmlHTTP.send();
var strResult = xmlHTTP.responseText;
4. 閉包在書本上有些晦澀
用自己的話總結(jié)下吧。
特點(diǎn):返回匿名函數(shù)
特性:由于返回匿名函數(shù),所以父函數(shù)無法由垃圾回收機(jī)制回收。
技巧:可以在聲明時(shí)初始化參數(shù),使得運(yùn)行環(huán)境保留著聲明時(shí)的情況。
舉例:
var a = function(_i)
{
return function()
{
alert(_i);
}
};
a(10)();
// 也可以 如下
var a = function(_i)
{
return function()
{
alert(_i);
}
}(i);
在聲明的時(shí)候就動(dòng)態(tài)指定了運(yùn)行中的參數(shù)。
var b = function()
{
return function(_i)
{
alert(_i);
}
};
b()(10);
5. 跨域的問題 利用dom 動(dòng)態(tài)改變script 的src 就能實(shí)現(xiàn)這個(gè)效果。 jquery中的動(dòng)態(tài)加載js也是這個(gè)原理。 回復(fù) 更多評(píng)論
只有注冊用戶登錄后才能發(fā)表評(píng)論。 | ||
![]() |
||
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
|
||
相關(guān)文章:
|
||
常用鏈接
留言簿(21)
隨筆分類(265)
- android(1)
- c#(.net)(1)
- C++(33)
- DB(5)
- JAVA(38)
- JSP(17)
- linux(7)
- mac(10)
- nginx(3)
- PHP(20)
- python(19)
- UML(1)
- VML(1)
- WebService(2)
- web前端(71)
- XML(4)
- 感悟生活(5)
- 正則表達(dá)式(2)
- 計(jì)算機(jī)綜合(25)
隨筆檔案(242)
- 2012年5月 (1)
- 2012年4月 (2)
- 2011年12月 (9)
- 2011年11月 (20)
- 2011年3月 (8)
- 2010年10月 (15)
- 2010年6月 (2)
- 2010年4月 (1)
- 2010年3月 (7)
- 2010年1月 (4)
- 2009年12月 (1)
- 2009年10月 (1)
- 2009年9月 (1)
- 2009年8月 (8)
- 2009年6月 (11)
- 2009年5月 (3)
- 2009年4月 (7)
- 2008年11月 (5)
- 2008年10月 (6)
- 2008年8月 (1)
- 2008年7月 (6)
- 2008年6月 (5)
- 2008年5月 (1)
- 2008年4月 (18)
- 2008年3月 (1)
- 2008年2月 (1)
- 2007年12月 (9)
- 2007年9月 (5)
- 2007年8月 (6)
- 2007年7月 (4)
- 2007年6月 (6)
- 2007年5月 (8)
- 2007年4月 (9)
- 2007年3月 (6)
- 2007年2月 (44)
相冊
JAVA網(wǎng)站
關(guān)注的Blog
搜索
積分與排名
- 積分 - 916114
- 排名 - 40
最新評(píng)論

- 1.?re: IP地址獲取當(dāng)前地理位置接口
- fdf
- --fdfs
- 2.?re: 淺談comet技術(shù)
- slowhttp攻擊會(huì)直接把server搞垮 因?yàn)橥ǔ_@種應(yīng)用場景的http的timeout值會(huì)比較大
- --harlan
- 3.?re: php動(dòng)態(tài)圖片驗(yàn)證碼
- 額
- --人
- 4.?re: 關(guān)于傳值和傳引用的插曲
- 大家不要看這篇文章 本來很簡單的事情反而被博主繞復(fù)雜了,
- --bandit