[TOC]
>[info]數據類型在數據結構中的定義是一個值的集合以及定義在這個值集上的一組操作。
變量是用來存儲值的所在處,它們有名字和數據類型。變量的數據類型決定了如何將代表這些值的位存儲到計算機的內存中。在聲明變量時也可指定它的數據類型。所有變量都具有數據類型,以決定能夠存儲哪種數據。
js數據類型有(字符串、數字、布爾、數組、對象、Null、Undefined)。
## JavaScript 擁有動態類型
>[success]JavaScript 擁有動態類型。這意味著相同的變量可用作不同的類型:(弱類型,松散型)。
~~~
var x // x 為 undefined
var x = 6; // x 為數字
var x = "Bill"; // x 為字符串
~~~
### JavaScript 字符串
>[success]字符串是存儲字符(比如 "Bill Gates")的變量。
**單雙引號的用法**
1. 效率差不多。
2. 只能成對出現,不能相互交叉使用。
3. 可以相互嵌套。
~~~
var carname="Bill Gates";
var carname='Bill Gates';
~~~
### JavaScript 數字
>[success]JavaScript 只有一種數字類型。數字可以帶小數點,也可以不帶。
~~~
var x1=34.00; //使用小數點來寫
var x2=34; //不使用小數點來寫
~~~
### JavaScript 布爾
>[success]布爾(邏輯)只能有兩個值:true 或 false。
~~~
var x=true;
var y=false;
~~~
### JavaScript 數組(后面重點講)
>[success]存儲一系列相關數據的容器,一種特殊的數據類型,下面的代碼創建名為 cars 的數組:
~~~
var cars=new Array();
cars[0]="Audi";
cars[1]="BMW";
cars[2]="Volvo";
~~~
### JavaScript 對象(后面重點講)
>[success]json對象由花括號分隔。在括號內部,對象的屬性以名稱和值對的形式 (name : value) 來定義。屬性由逗號分隔:
~~~
var person={firstname:"Bill", lastname:"Gates", id:5566};
~~~
### Undefined 和 Null
>[success]Undefined 這個值表示變量不含有值。
可以通過將變量的值設置為 null 來清空變量。
~~~
cars=null;
person=null;
~~~
## 類型相關常用函數
### typeof 運算符
>[success]typeof 運算符有一個參數,即要檢查的變量或值。例如:
~~~
var sTemp = "test string";
alert (typeof sTemp); //輸出 "string"
alert (typeof 86); //輸出 "number"
~~~
>[success]對變量或值調用 typeof 運算符將返回下列值之一:
* undefined - 如果變量是 Undefined 類型的
* boolean - 如果變量是 Boolean 類型的
* number - 如果變量是 Number 類型的
* string - 如果變量是 String 類型的
* object - 如果變量是一種引用類型或 Null 類型的
### Number() 函數
>[success]Number() 函數把對象的值轉換為數字。
~~~
alert(Number("888"));
~~~
**注意事項:**
1. 如果是布爾值,false為0,true為1
2. 如果是數字,轉換成為本身。將無意義的后導0去掉。
3. 如果是undefined 轉換為NaN not a number
4. 如果是字符串
* 如果字符串當中只有數字,轉換為10進制(忽略前導0和后導0)
* 如果是有效的規范的浮點型,轉換為浮點值(忽略前導0和后導0)
* 如果是空字符串,則轉換為0
* 如果是其他的值,返回NaN
### parseInt() 函數
>[success]parseInt() 函數可解析一個字符串,并返回一個整數。
~~~
parseInt("10"); //返回 10
parseInt("19px"); //返回 19
~~~
1. 如果一個字符串只包含數字,則以10進制的方式轉換為整型。
2. 他會自動忽略字符串前面的空格,直到找到第一個非空的數值字符串,如果字符串的第一個字符不是空格、數字、-,那么返 回NaN。
### eval() 函數
>[success]函數可計算某個字符串,并執行其中的的 JavaScript 代碼。
~~~
var str = '1+2';
alert(eval(sta));
~~~
>[danger]**作業:**理解類型的作用和如果判斷數據類型。
- 序言
- 第一章:準備工作
- 寫在學習之前的話
- web應用開發結構
- 開發工具/環境
- 第二章:展現層面(HTML/CSS)
- HTML簡介
- HTML基礎
- HTML編碼
- HTML鏈接
- HTML圖像
- HTML列表
- HTML表單
- HTML表格(分水嶺)
- HTML 實體
- HTML框架
- CSS層疊樣式表
- CSS選擇器
- CSS文本/字體
- CSS繼承和疊加
- CSS框模型
- CSS浮動(分水嶺)
- CSS定位
- CSS背景
- CSS圖標字體
- CSS補充
- 開發技巧
- 第三章:展現層面(Javascript)
- JS簡介
- JS實現
- JS輸出交互
- JS變量
- JS數據類型
- JS運算符
- JS流程控制(分水嶺)
- JS函數
- JS數組
- JS對象(分水嶺)
- JS數組對象
- JS字符串對象
- JS數學對象
- JS日期對象
- JS BOM對象(分水嶺)
- JS DOM對象
- JS事件對象
- JS元素對象
- JS DOM節點
- 第四章:展現層面(Jquery)
- JQ簡介
- JQ使用
- JQ選擇器
- JQ篩選
- JQ屬性
- JQ-CSS
- JQ事件
- JQ文檔處理
- JQ效果
- JQ-ajax
- 第五章:邏輯/業務層面(PHP)
- PHP簡介
- PHP變量
- PHP數據類型
- PHP常量
- PHP運算符
- PHP流程控制
- PHP函數(分水嶺)
- PHP日期
- PHP數學
- PHP數組
- PHP字符串
- PHP正則表達式(分水嶺)
- PHP目錄操作
- PHP文件
- PHP上傳/下載
- PHP面向對象(分水嶺)
- PHP圖像處理
- PHP會話控制
- Ajax異步處理
- PHPMysql擴展
- PHPMysqli擴展
- PHPPdo擴展
- PHP接口
- PHP命名空間
- 第六章:邏輯/業務層面(框架設計)
- 第七章:存儲層面(mysql)
- Mysql基礎
- Mysql Sql簡介
- Mysql數據庫
- Mysql數據類型
- Mysql數據表
- Mysql操作記錄
- Mysql查詢
- Mysql修改表結構
- Mysql日期與時間
- Mysql分組統計
- Mysql多表查詢
- Mysql安全
- Mysql存儲引擎
- Mysql事務
- Mysql視圖
- Mysql觸發器
- Mysql存儲過程
- Mysql存儲函數
- Mysql優化
- 第八章:服務器(Linux)
- Linux介紹與安裝
- Shell
- 目錄與文件操作
- VIM編輯器使用
- 帳號管理
- SUDO
- 權限控制
- 壓縮與打包
- 軟件安裝
- 計劃任務
- 進程管理
- 寶塔Linux面板