请稍候,加载中....

JavaScript 数据类型

值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。

引用数据类型:对象(Object)、数组(Array)、函数(Function)。

注:Symbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值。

 


动态类型

静态语言的变量类型通常在声明时就已经限定了数据类型,javascript属于动态类型语言。

这意味着一个变量可在程序运行过程赋给不同类型的数据:

动态实例

<script>
var x;               // x 为 undefined
var x = 5;           // 现在 x 为数字
var x = "John";      // 现在 x 为字符串
</script>

 


字符串类型

字符串是存储字符(比如 "Bill Gates")的变量。

字符串可以是引号中的任意文本。您可以使用单引号或双引号:

字符串实例1

var carname="Volvo XC60";
var carname='Volvo XC60';

您可以在字符串中使用引号,只要不匹配包围字符串的引号即可:

字符串实例2

var answer="It's alright";
var answer="He is called 'Johnny'";
var answer='He is called "Johnny"';

 


数字类型

与python不同,JavaScript 只有一种数字类型。数字可以带小数点,也可以不带:

数字实例1

var x1=34.00;      //使用小数点来写 var x2=34;         //不使用小数点来写

数字实例2

极大或极小的数字可以通过科学(指数)计数法来书写

var y=123e5;      // 12300000 var z=123e-5;     // 0.00123

 


布尔类型

布尔(逻辑)只能有两个值:truefalse

var x=true;
var y=false;

布尔常用在条件测试中。您将在本教程稍后的章节中学到更多关于条件测试的知识。

 


数组类型

下面的代码创建名为 cars 的数组:

<script>
var cars=new Array();
cars[0]="Saab";
cars[1]="Volvo";
cars[2]="BMW";
for (let i=0; i< cars.length; i++){
    document.write(cars[i])
}
</script>

或者 (condensed array):

<script>
var cars=new Array("Saab","Volvo","BMW");
</script>

或者 (literal array):

<script>
var cars=["Saab","Volvo","BMW"];
</script>

数组下标是基于零的,所以第一个项目是 [0],第二个是 [1],以此类推。

您将在本教程稍后的章节中学到更多关于数组的知识。

 


对象类型Object

对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔:

var person={firstname:"John", lastname:"Doe", id:5566};

上面例子中的对象 (person) 有三个属性:firstnamelastname 以及 id

空格和折行无关紧要。声明可横跨多行:

<script>
  var person={
      firstname: "John",
      lastname: "Doe",
      id      :  5566
   };
</script>

对象操作实例

<script> 
var person={ 
    firstname: "John", 
    lastname: "Doe", 
    id      :  5566 
}; 
name=person.lastname; 
id=person["id"];
document.write("name="+name+"<br>")
document.write("id="+id+"<br>")
</script>

 


undefined、null

初学者容易混淆undefinednull的区别
当一个变量设置值为undefined表示变量不含有值,通常不用显式定义。
null这个值很特殊, 为一个空对象指针,指向一个不存在的对象

可以通过将变量的值设置为 null 来清空变量。

<script>
var cars = []
var peson
document.write("cars:"+cars)
cars=null;
person=null;
document.write("person:"+person)
</script>

 


声明变量类型

在javascript中,所有的变量其实都是类型的对象实例

因此当声明新变量时,也可以使用关键词 "new" 来声明其类型:

var carname=new String;
var x=      new Number;
var y=      new Boolean;
var cars=   new Array;
var person= new Object;

Python学习手册-