[雜] 工作日常筆記

  • 105
  • 0

工作日常

window.onfocus
//for chrome and firefox
window.onfocus = function() { };
window.onblur = function() { };

// for IE
document.onfocusin = function() { };
document.onfocusout = function() { };
window.clearTimeout() 取消 setTimeout() 所設定固定時間後的動作。

 clearTimeout() 雖然是 window 物件的方法,在多數瀏覽器中也可單獨使用,也就是直接呼叫        clearTimeout() ,不需要寫 window.clearTimeout() 。

 clearTimeout() 需要一個參數

window.clearTimeout(id);

var intervalID;
var n = 11;
 
function run() {
    var t = document.getElementById("demo");
    if (n != 0) {
        n = n - 1;
        t.innerHTML = n;
    }
    intervalID = window.setTimeout(run, 1000);
}
 
function stop() {
    window.clearTimeout(intervalID);
}
typeof

typeof是一個一元運算符,它返回的結果始終是一個字符串,對不同的操作數,它返回不同的結果。 
具體的規則如下: 
一、對於數字類型的操作數而言, typeof 返回的值是 number。比如說:typeof(1),返回的值就是number。 
上面是舉的常規數字,對於非常規的數字類型而言,其結果返回的也是number。比如typeof(NaN),NaN在 
JavaScript中代表的是特殊非數字值,雖然它本身是一個數字類型。 
在JavaScript中,特殊的數字類型還有幾種: 
Infinity 表示無窮大特殊值 
NaN            特殊的非數字值 
Number.MAX_VALUE     可表示的最大數字 
Number.MIN_VALUE     可表示的最小數字(與零最接近) 
Number.NaN        特殊的非數字值 
Number.POSITIVE_INFINITY 表示正無窮大的特殊值 
Number.NEGATIVE_INFINITY 表示負無窮大的特殊值 
以上特殊類型,在用typeof進行運算進,其結果都將是number。 
二、對於字符串類型, typeof 返回的值是 string。比如typeof("123")返回的值是string。 
三、對於布爾類型, typeof 返回的值是 boolean 。比如typeof(true)返回的值是boolean。 
四、對於對象、數組、null 返回的值是 object 。比如typeof(window),typeof(document),typeof(null)返回的值都是object。 
五、對於函數類型,返回的值是 function。比如:typeof(eval),typeof(Date)返回的值都是function。 
六、如果運算數是沒有定義的(比如說不存在的變量、函數或者undefined),將返回undefined。比如:typeof(sss)、typeof(undefined)都返回undefined。

 

 ExtJs實用method

urlEncode / urlDecode  實現url參數與json對象之間的互相轉換。
var param = {
    page:1,
    start:0
};

var s = Ext.urlEncode(param);  //return page=1&start=0 
var str01 = 'page=1&start=0';
var obj = Ext.urlDecode(str01); //return obj
alert(obj.page);
each  數組資料的輪循
Ext.Each([1,2,3,4,5,6,7],function(item){
    alert(item);
});
encode / decode  實現了字串與json對象之間的互相轉換。
var param = {
    page:1,
    start:0
};
var str01 = Ext.encode(param); // return {page=1,start=0}
var str01 = 'page=1,start=0';
var obj = Ext.decode(str01);
alert(obj.page);
檢測瀏覽器屬性
  • for IE :  Ext.isIE , Ext.isIE6 , Ext.isIE7 , Ext.isIE8
  • for Firefox : Ext.isGeko , Ext.isGeko2 , Ext.isGeko3 
  • for Opera : Ext.isOpera
  • for chrome : Ext.isChrome
  • for safari : Ext.isSafari , Ext.isSafari2 , Ext.isSafari3 
  • for WebKit : Ext.isWebKit
檢測系統​
  • Ext.isLinux , Ext.isWindows , Ext.isMac
​其他檢測
  • Ext.isEmpty 
  • Ext.isArray 
  • Ext.isObject 
  • Ext.isFunction 
  • Ext.id : 產生一個亂數id
var id = Ext.id();
id = Ext.id(null,'pre');//前綴pre的亂數
var id = Ext.id(Ext.get(document.body)); //給body的tag分配一個id
onunload

onunload = " 要觸發的 javascript function "​

<body onunload="alert(’下次再見囉!’)">
<script type='text/javascript'>
window.onunload=SayGoodbye;
function SayGoodbye(){
 alert('bye');
}
</script>