js 資料型別:
字串、布林、數字、物件(element、、、null)、函式、未定義
1、檢測資料型別:typeof 運算子
, charat 根據字串下標來獲取子字串
var a = 'miaov';
alert( typeof a );
// string
alert( a.length );
// 5
alert( a.charat(2) );
// charat 根據字串下標來獲取子字串
var b = true;
// 布林值
true
false
alert(typeof b);
// boolean
var p = document.getelementsbyname('p');
alert(p);
//[object htmlcollection]
var d = document;
alert( typeof d );
// object
d.abc = 123;
alert(d.abc);
//123
alert(document.abc);
//123
var arr = [ 1,2,3,4 ];
alert(typeof arr);
// object
arr.push(5);
alert(arr.length);
//5arr.abc = 'abcde';
alert(arr.abc.charat(3));
//d2、null
是物件。
null初始化乙個物件,'' 字串為空。
var onull = null;
alert( typeof onull );
// object
var li = null;
// null 不能新增自定義屬性!
var fn = function ();
alert( typeof fn );
// function
alert( fn );
// function ();
fn();
//1function fn1()
alert( fn1 );
// function fn1()
// 函式:所有的函式,不呼叫,不執行!
// 函式名稱就等於整個函式
// 函式名+()
就讓函式呼叫了
var abc;
alert(typeof abc);
// undefined
alert( abc );
// undefined
// 未定義是一種狀態:程式出錯
number();
從整體上進行轉換(盡量轉成數字)
轉不成功:nan
parseint();
從左到右,一位一位進行轉換
轉不成功:nan
注釋:只有字串中的第乙個數字會被返回。
注釋:開頭和結尾的空格是允許的。
parsefloat();
從左到右,一位一位進行轉換(認得小數)
注釋:開頭和結尾的空格是允許的。
alert(parseint("010"));
//10
alert(parseint('sdf123'));
//nan
alert(parseint('123 333'));
//123
alert(parseint('010',8));
//8
轉換為8進製
var a = '100';
alert( a+10 );
// 10010
alert( number(a)+10 );
//110
alert(number(''));
// 0
number()從整體上進行轉換(盡量轉成數字)
alert(number(false));
// 0
alert(number());
// 0
alert(number(null));
// 0
alert(parsefloat(''));
// nan
alert(parsefloat(false));
// nan
alert(parsefloat());
// nan
alert(parsefloat(null));
// nan
var n = null;
//null初始化乙個物件,' ' 字串為空
alert(typeof(n));
// object
if(n)else
var b = '200px';
var b2 = '200.98px';
alert(parseint(b));
//200
alert(parseint(b2));
//200
var c = '23.45元';
alert(parsefloat(c));
var num = 40.678;
if(parseint(num) == parsefloat(num))
else
不強制型別轉換(隱式型別轉換):
+ 200+'px'
=>
'200px'
- * / %
'200'-1
=>
199++ --
'2'++
=> 3
> <
'3' > 2
=>
true
(如果》 《的兩邊都是字串,則不會發生型別轉換)
== '2'==2
=>
true
(把數字2變成字串2,再進行比較,比較的是最終的值)
! !100
=>
false
(!把型別變成布林值)
alert('200'-1);
//199
var a = '2';
a++;
alert(a); //
3 alert('3' > '2000000');
// true
alert('2'==2);
//true
alert('2'===2);
// false
全等判斷,先判斷型別,再判斷值
alert(!true);
// false
alert(!100);
// false(100 => true)
if(!2345)else
var aaa = '200';
// 列出你所知道的所有方法,把字串轉數字:
number(aaa);
parseint(aaa);
parsefloat(aaa);
aaa-0
aaa*1
aaa/1
nan 的出現:表示你的數字型別轉換失敗!
特徵:1、nan 在布林值的表現:false
if(number('w'))else
2、nan 與自己不相等
var a = number('w');
alert(a == a);
//false
alert(number('w'));
// nan : not a number (不是個數字)
alert(typeof number('w') );
// number
typeof運算子的寫法
alert(typeof(number('w')));
// number
typeof方法的寫法
alert(nan+1)
//nan
var aaa = '';
alert( parseint('') );
// nan
在一堆字串裡找數字的方法:
for(var i=0; i
if(parseint(a.charat(i)) == parseint(a.charat(i))) }
//判斷是否為數字且不為 :nan,parsefloat(arr[i]) == arr[i]
//判斷是數字,且為nan :typeof(arr[i]) == 'number' && isnan(arr[i])
isnan() : 用來判斷某個值是否為 number
alert( isnan(250) );
// false
alert( isnan('abc') );
// true
isnan 的實現原理:number('abc') => nan
喜歡 nan => true
alert( isnan('') );
// false
number('') => 0
alert( isnan() );
// false
number() => 0
alert( isnan(null) );
// false
number(null) => 0
JS基礎整理之資料型別
js的資料型別 在es5的時候,我們認知的資料型別確實是 6種 number string boolean undefined object null。es6 中新增了一種 symbol 這種型別的物件永不相等,即始建立的時候傳入相同的值,可以解決屬性名衝突的問題,做為標記。其中 基本型別 單型別 ...
資料型別整理
1 單精度 型別說明符為float,該實型資料在記憶體中佔4個位元組,表示的數值範圍是 3.4e38 3.4e38。例如 float a 2 雙精度 型別說明符為double,該實型資料在記憶體中佔8個位元組,表示的數值範圍是 1.7e08 1.7e308。例如 double b 3 長雙精度 型別...
資料型別整理
整理 數字int 字串replace find join strip startswith split upper lower format tempalete i am age v tempalets.pormat name alex age 19 v tempalete.format print...