You are here: 首頁

飛朵啦學習手札

本網站建議使用Firefox2.0以上,或是使用Goole瀏覽器來瀏覽,並使用1024x768解析度來觀看.

JA slide show

新聞公告

歡迎來到飛朵啦學習手札

06

[轉]javascript的 var x = y = 0; 和 var x = 0; var y = 0;的差別

E-mail 列印 PDF

上網查資料發現一個問題,以前都沒有想過的,把它貼出來做為紀錄。

如果在function裡面的話x是局部變量,y是全局變量

例如這樣:

function a(){

var x=y=0;

}

因為是從左到右賦值的,相當於

function a(){

var x=(y=0);

}

y前面沒有var關鍵字,所以是全局變量,出乎意料的結果,y可能會命名衝突。 。

所以 一般這麼寫

function a(){

var x=0,

y=0;

}

 
 
十二29

寫PHP多出空白問題(UTF8)

E-mail 列印 PDF

寫網站發生了一個

會一直多出一個空白行的問題

最後發現是include時

該php文件雖然是UTF8

但是檔頭是有BOM的

存檔格視改為無BOM就解決了

 
 
十一17

關於setTimeout的問題setTimeout

E-mail 列印 PDF

最近在寫setTimeout時,用ajax方式去呼叫,發現怎麼倒數越來越快,原來AJAX在呼叫時,也會把它給重制,就變得倒數越來越快,解決方式,網上有類似的解決方式,以下為轉貼:

有時候我們在使用setTimeout的時候會導致IE特別佔用cpu,有可能會導致死機等情況。

 

 

<script language="javascript">

function PollConn(){

TimeCounter=window.setTimeout('PollConn();',5000);

function StopPoll(){

window.clearTimeout(TimeCounter)

}

PollConn();

</script>

 

上面的方法一般是比較通用的方法。不停的每隔5秒鐘調用一下自己。在一般的運用中,用戶訪問含有這樣代碼的頁是沒感覺出它有什麼問題。但是如果用戶在這樣的頁裡需要停留的時間很長,就會用問題。因為setTimeout會不停的“吐食”CPU,慢慢的CPU最終會被這樣的代碼吃光,造成IE死掉,或停止執行。

解決的辦法,在下次調用之前先用clearTimeout清除一下。

 

<script language="javascript">

function PollConn(){

if(TimeCounter) window.clearTimeout(TimeCounter) //清除上次的setTimeout

TimeCounter=window.setTimeout('PollConn();',5000);

function StopPoll(){

window.clearTimeout(TimeCounter)

}

PollConn();

</script>

最近更新 ( 週四, 17 十一月 2011 13:43 )
 
更多文章...
第 29 頁, 共 51 頁