1 關鍵字和保留字,不能用作識別符號
2 js中的變數,無論是定義什麼樣的資料型別,都同意使用 var
js中的變數可以定義在一行中,由於ecmascript是鬆散型別的,所以不同型別的變數可以放在一行中定義
如:var message="hi",
found="false",
age=29;
3 資料型別:typeof操作符,用來檢測變數的資料型別
undefined-------如果這個值未定義
boolean---------如果這個值是布林值
string------------如果這個值是字串
number---------如果這個值是數字
object----------如果這個值是物件或null
function-------如果這個值是函式
例子:var message="some thing";
alert(typeof message);
alert(typeof (message));
alert(typeof 89);
(1)undefined型別:只有乙個值,即特殊的undefined,在使用var宣告變數但未對其進行初始化的時候,這個變數的值就是undefined
(2)null型別:也是只有乙個值得資料型別,值是null,從邏輯上講,null值標示乙個空指標物件,這正是用typeof檢查null的值時返回的是「object」
(3)boolean型別:只有兩個值「true」、「false」
下面列出各種資料型別轉換成boolean型別的轉換規則
boolean:true、false
string:任何飛空字串、「」(空字串)
number:任何非零數字值(包括無窮大)、0和nan
object:任何物件、null
undefined:n/a(不適用)、undefined
(3)number型別:表示的是整數和浮點數
十進位制數:var intnum=55
八進位制數(56):var octalnum1=070
十六進製制:前面兩位必須是0x,後面跟任何十六進製制數字(0~9及a~f)
var num1=0xa;//十六進製制的10
var num2=0x1f;//十六進製制的31
浮點數值:var float1=1.1 ;適用浮點數計算會產生捨入誤差的問題,
nan:非數值(not a number),定義了乙個isnan()函式,這個函式接受乙個引數,這個引數可以是任何型別,
alert(isnan(nan));//true
alert(isnan(10));//false(10是乙個數值)
alert(inan("10"));//false(可以被轉換成數值10)
alert(isnan(true));//false(可以被轉換成數值1)
alert(isnan("blue"));//true(不能被轉換成數值型)
數值轉化:有3個函式可以將不是數值型的轉換成數值:
number():轉型函式,可以用於任何資料型別
parseint()、parsefloat():這兩個函式用於將字串轉換成數值型
number()函式轉換規則:
1);如果是boolean值,true和false分別轉換成1 和 0;
2);如果是數字,就簡單的傳入和返回
3);如果是undefned,返回0;
4); 如果是字串,將按照下面的規則進行轉換:
5):如果是物件,則呼叫物件的valueof()方法,然後依照前面的規則轉換返回的值,如果轉換的結果是nan,則呼叫物件的tostring()方法,
例子:var num1=number("hello");//nan;因為不包含任何有意義的數字
var num2=number("");//0,空字串會被轉換成0
var num3=numner("000011");//11;忽略了其前導的0
var num4=numner(true);//1,true值被轉換成1
parseint()例子:
var num1=parseint("123blue");//123
var num2=parseint("");//nan
var num3=parseint("0xa");//10(16進製制)
var num4=parseint("22.5");//22
var num5=parseint("070");//56八進位制,在ecmascript中不具備解析8進製的能力,,因此前面的0會被視為無效,從而將這個值當成「70」,
var num6=parseint("70");//70十進位制
為了消除parseint()中的困惑,可以為這個函式提供第二個引數:轉換時使用的基數(即多少進製)
例如:var num=parseint("af",16);//轉換成十六進製制
parsefloat():只解析10進製的數
tostring();轉換為字串,null和undefined沒有tostring()方法。
var age=11;//11
var ageasstring=age.tostring();//結果是字串「11」
var found=true;
var foundasstring=found.tostring();//結果是字串「true」
給tostring()方法傳遞引數
var num=10;
alert(num.tostring());//10
alert(num.tostring(2));//1010
string()函式:可以將任何型別的值轉換成字串,遵循的轉換規則如下:
1):如果值有tostring()方法,則呼叫該方法(沒有引數)並返回相應的結果
2):如果值是null,則返回"null"
3):如果是undefined ,則返回的「undefined」
(5)object型別:
var o=new object();
object的每個例項都具有下列屬性和方法
1)cnstructor:儲存著用於建立當前物件的函式
2)hasownproperty(prooertyname):用於檢查給定屬性在當前例項物件中是否存在
3)ispropertyof(object):用於檢查傳入的物件是否是傳入物件的原型
4)propertyisenumerble(propertyname):用於檢測給定的屬性是否能夠用for-in語句來列舉
5)tolocalestring();返回物件的字串標示,
6)tostring():返回物件的字串標示
7)valueof():返回物件的字串、數值或布林值標示,通常與tostring()方法的返回值相同
操作符:
一元操作符
++age:先加1,後執行
age++;先執行,後加1
--age;先減1,後執行
age--;先執行,後減1
例如:var num1=2;
var num2=20;
var num3=--num1+num2;//21
var num4=num-+num2;//21
var num1=2;
var num2=20;
var num3=num1--+num2;//22
var num4=num1+num2;//21
按位非(not "~"):結果就是數值的反碼
按位與(and "&"),相同值為1,不同值為0;
按位或(or "|")兩個運算元,其中乙個為真,結果就為真。
按位異或(xor "^"),兩個運算元,相同為0.不同為1
左移(<
有符號右移(>>):會將數值向右移動,但保留符號位
無符號右移(>>>):對於正數來說,無符號右移與有符號右移結果是相同的,但是負數就不同了,無符號右移操作符會把負數的二進位製碼當成正數的二進位製碼,而且負數以其絕對值的二進位制補碼形式標示,因此會導致無符號右移後的結果非常大
布林操作符:
邏輯非(!)
邏輯與(&&):兩個運算元都為真的時候結果才為真
邏輯或(||):兩個運算元中有乙個為真時結果才為真;可以利用邏輯的這一行為來避免為變數賦值為null或undefined
基本資料類
integer integer1 1 int integer2 integer1 將基本資料型別換成string字串型別 講字串轉換成基本資料型別 int num integer.parseint 1 判斷記憶體位址是否相同,用 判斷物件的資料是否相同,用 equals 比較是否相等,可用向下轉型方...
python基本數 python基本資料型別
1.數字 int 數字又分整型和浮點型,在python中宣告變數是不用宣告所以自己就會識別 a 10 整型 a1 1.24 浮點型 支援科學計數法,將10用e來代替 2.字串 str 在python中用引號引起來的就是字串,而且單引號和雙引號並沒有什麼區別 a string a1 string a2...
JavaScript基本資料型別分析
js 資料型別可分為基本資料型別和復合資料型別兩種,其中基本資料型別有五種 字串 string 數字 number 布林 boolean 空 null 未定義 undefined 復合資料型別即 object,object 本質是一組無序的名值對組成的,嚴格來說,又被分為三類 物件 object 陣...