You are here: 首頁 文章分類選單 Javascript相關訊息

飛朵啦學習手札

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

Javascript相關訊息

javascript中IE瀏覽器不支持NEW DATE()帶參數的解決方法

E-mail 列印 PDF

var date1=new Date(dateTimes[z][1]);

在火狐下可以正常取得時間,在IE7下卻是NaN。糾結老長時間,放棄了new date 然後再老外的論壇中找了一段段代碼可以兼容所有瀏覽器的格式化日期代碼:

 

function NewDate(str) {
str = str.split('-');
var date = new Date();
date.setUTCFullYear(str[0], str[1] - 1, str[2]);
date.setUTCHours(0, 0, 0, 0);
return date;
}

最近更新 ( 週三, 28 三月 2012 18:05 )
 
 

JavaScript的取日期的問題

E-mail 列印 PDF
PS:getYear()有Y2K問題所以建議全部轉用getFullYear();

 

PS:DATE對象GETYEAR()方法和GETFULLYEAR()方法區別
getYear()
使用getYear()函數的本意是獲取年份,以2010年為例,如:
Js代碼
var nowd = new Date();
var yf = nowd.getYear();
在IE中是可以正確獲取年份:2010,但是在FF等瀏覽器下則為:110。
原因則是在FF等瀏覽器內getYear 返回的是"當前年份-1900" 的值(即年份基數是1900)
而IE則是當today的年份大於等於2000的時,直接將1900加上了,返回的2010。
getFullYear()
使用getFullYear()在IE和FF中都可以正確獲取年份:2010
注意
使用js來獲取年份都使用:getFullYear()
最近更新 ( 週二, 27 三月 2012 11:46 )
 
 

[轉]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;

}

 

關於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 )
 

Google的JavaScrip 的壓縮

E-mail 列印 PDF

想要看其他的壓縮可以參考此篇http://pim0110.webhop.org/joomla/index.php/javascript/122-javascript-

Google Closure Compiler 提供三種壓縮方法,分別是空格移除、簡單壓縮及進階壓縮。簡單壓縮基本上只是把 comments 和空格拿走(跟 YUI Compressor 基本一樣);進階壓縮除以上功能外,還能夠 rename variable name、甚至重寫某些 statement!很好很強大!

Google JavaScript Closure Compiler 有單機版和線上版兩款:

  1. 按此下載 Javascript Closure Compiler
  2. 網上版 Javascript Closure Compiler

附官方英文版簡介:

Closure Compiler is a JavaScript optimizing compiler. It parses your JavaScript, analyzes it, removes dead code and rewrites and minimizes what’s left. It also checks syntax, variable references, and types, and warns about common JavaScript pitfalls. It is used in many of Google’s JavaScript apps, including Gmail, Google Web Search, Google Maps, and Google Docs.

 

 
第 2 頁, 共 3 頁