標籤:use get 封裝類 資料庫 func int 假設 number 瀏覽器
(1)不要使用new Number()
、new Boolean()
、new String()
建立封裝對象;
(2)用parseInt()
或parseFloat()
來轉換任意類型到number
;
(3)用String()
來轉換任意類型到string
,或者直接調用某個對象的toString()
方法;
(4)通常不必把任意類型轉換為boolean
再判斷,因為可以直接寫if (myVar) {...}
;
(5)typeof
操作符可以判斷出number
、boolean
、string
、function
和undefined
;
(6)判斷Array
要使用Array.isArray(arr)
;
(7)判斷null
請使用myVar === null
;
(8)判斷某個全域變數是否存在用typeof window.myVar === ‘undefined‘
;
(9)函數內部判斷某個變數是否存在用typeof myVar === ‘undefined‘
。
封裝對象:
var n = new Number(123); // 123,產生了新的封裝類型var b = new Boolean(true); // true,產生了新的封裝類型var s = new String(‘str‘); // ‘str‘,產生了新的封裝類型
typeof new Number(123); // ‘object‘new Number(123) === 123; // falsetypeof new Boolean(true); // ‘object‘new Boolean(true) === true; // falsetypeof new String(‘str‘); // ‘object‘new String(‘str‘) === ‘str‘; // false
注意:null
和undefined
就沒有toString()
方法
123.toString(); // SyntaxError
解決辦法:
123..toString(); // ‘123‘, 注意是兩個點!(123).toString(); // ‘123‘
Date
JavaScript的Date對象月份值從0開始,牢記0=1月,1=2月,2=3月,……,11=12月。
var d = new Date(2015, 5, 19, 20, 15, 30, 123);d; // Fri Jun 19 2015 20:15:30 GMT+0800 (CST)
使用Date.parse()時傳入的字串使用實際月份01~12,轉換為Date對象後getMonth()擷取的月份值為0~11。
var d = Date.parse(‘2015-06-24T19:49:22.875+08:00‘);d; // 1435146562875
但它返回的不是Date
對象,而是一個時間戳記。
把時間戳記轉換為一個Date
:
var d = new Date(1435146562875);d; // Wed Jun 24 2015 19:49:22 GMT+0800 (CST)d.getMonth(); // 5
時間戳記是一個自增的整數,它表示從1970年1月1日零時整的GMT時區開始的那一刻,到現在的毫秒數。假設瀏覽器所在電腦的時間是準確的,那麼世界上無論哪個時區的電腦,它們此刻產生的時間戳記數字都是一樣的,所以,時間戳記可以精確地表示一個時刻,並且與時區不轉換。
所以,我們只需要傳遞時間戳記,或者把時間戳記從資料庫裡讀出來,再讓JavaScript自動轉換為當地時間就可以了。
擷取目前時間戳:
‘use strict‘;if (Date.now) { console.log(Date.now()); // 老版本IE沒有now()方法} else { console.log(new Date().getTime());}
JavaScript--標準函數