標籤:struct 語言 語句 bst sub 迴圈 define 自己的 string
javascript的基礎資料型別 (Elementary Data Type)包含 string,number,boolean,function,object,undified基本的6的基礎資料型別 (Elementary Data Type)
這篇文章就主要介紹一下這六種基礎資料型別 (Elementary Data Type)的主要方法和使用
1 字元類型string 經常使用的方法有
parseInt(str1) 不是字元類型的方法
substring(3,5) 字元截取
indexOf("h")。lastIndexOf("h") 索引尋找
toUpperCase() 大寫和小寫轉換函式
var str="abc"; //最經常使用的字元變數賦值 相似於 var str=new String("abc") //經常用法 //1 把一個字元轉換為 字數,比方 把 “1234” 轉換為 數實值型別的整數 var str1="1234" //這裡須要注意的是parseInt並非string類型的方法,而是window對象的方法 console.info(parseInt(str1)) var str2="heshengjun123test" // 2 把一個字串進行截取 比方 把 var str2="heshengjun123test" //截取 3,5 之間的字元 //須要注意的是 字元、數組的下標都是從0 開始計算 console.info(str2.substring(3,5)) //包含第三個字元,不包含第五個字元 //尋找字元第一次的位置,假設找不到則返回-1 console.info(str2.indexOf("h")) //能夠傳一個字元,也能夠傳入字串 //從字元後面開始尋找字元第一次的位置。假設找不到則返回-1 console.info(str2.lastIndexOf("h")) // //字串串連 console.info(str2.concat("haoren")) //把兩個字串串連起來返回 等效於 str2+"haoren" //大寫和小寫轉換函式 console.info(str2.toUpperCase())
2 數實值型別 number 幾個特別的值 NaN,Infinity,-Infinity
對於NaN和其它資料進行計算返回的是 NaN
//定義數值 var num=123; //等效於new Number(123) // 1/0 不會報錯,會返回一個無窮大 Infinity -1/0 返回一個無窮小 -Infinity console.info(1/0) console.info(-1/0) //兩個數整數相除可能返回一個小數,這點和java等進階語言一樣 console.info(4/3) //返回 1.3333333333333333 console.info(typeof NaN) //NaN是一個number的值,表示不是一個數(not a number) //比方parseInt("abc")就返回NaN console.info(parseInt("abc")) console.info(.6) //表示一個數0.6 //NaN和其它資料計算返回一個NaN console.info(NaN-199);
3 布爾類型 boolean 僅僅有兩個值:true,false
對於字元。數值能夠轉成為boolean中的true或者false
字元能夠轉換為boolean類型,普通情況為true,Null 字元為false
數字轉換為boolean類型,普通情況為true,0 為false
對於對象也能夠轉換為boolean類型,當中null對象轉換為false
對於一般的類型都能夠使用兩個!
轉換為boolean類型
//定義一個布爾類型變數 僅僅有兩個值true false var bool=true; //等價於new Boolean(true) console.info(bool.toSource()) //字元能夠轉換為boolean類型,普通情況為true,Null 字元為false if("abc"){ console.info("字元能夠轉換為boolean類型,普通情況為true。Null 字元為false") } //數字轉換為boolean類型。普通情況為true,0,NaN 為false if(!NaN){ console.info("數字轉換為boolean類型,普通情況為true,0 為false") } //對於一般的類型都能夠使用兩個。轉換為boolean類型 //對於對象也能夠轉換為boolean類型 if(!null){ console.info("對象轉換為boolean ") }4 function類型 很多其它具體介紹請參考下一篇關於函數的專題
函數有三種定義方式:function 語句、 函數直接量、Function建構函式
//定義、聲明一個函數 var fun1=function(){console.info("這是一個函數") } //運行一個函數 fun1(); console.info(fun1.length) //返回定義函數的參數個數 console.info(fun1.arguments) //arguments這個變數須要在定義函數中使用,能夠擷取實際的參數個數 //對於函數的call()方法和apply()方法。下節具體介紹,主要是改變函數的範圍 console.info(fun1.call()) //toSource方法不一定有。Firefox瀏覽器支援 返回函數的定義 console.info(fun1.toSource()) //定義一個使用arguments的函數 //對於有傳回值的函數,傳回值運算式須要分號結尾,而且放到最後 function fun2(x,y){ //實際參數的個數 alert(arguments.length) //具體的參數值 alert(arguments[0]) } //運行函數 fun2(1,2,3,4);5 object對象 這裡是指詳細的執行個體對象,不是類的概念
對象的簡單表示 {‘name‘:‘zhangsan‘,‘age‘:18}
propertyIsEnumerable 屬性推斷, 能夠通過for..in迴圈出來
hasOwnProperty 自己的屬性,不是原型的屬性
//定義一個對象 var obj={‘name‘:"zhangsan",‘age‘:18} //每一個對象都有的一個變數 obj.prototype=123 //建構函式 console.info(obj.constructor()) //推斷是否是自己的屬性 返回true false console.info(obj.hasOwnProperty(‘name‘)) //返回這個對象的值 console.info(obj.valueOf()) //propertyIsEnumerable 推斷一個對象的不是原型的屬性 // 能夠通過for..in迴圈出來 console.info(obj.propertyIsEnumerable("name")) for(var i in obj){ console.info(i) }6 undified類型 變數聲明了,可是並沒有被賦值 事實上也等同於Null
var a; //僅僅有聲明,沒有賦值。值為undefined console.info(a) //undefined 類型 console.info(typeof undefined) //兩個值相等 console.info(undefined==null)
javascript的基本類型剖析: