值类型(基本类型):
字符串(String)、数字(Number)、布尔(Boolean)、空(Null)、未定义(Undefined)、Symbol。
引用数据类型(对象类型):
对象(Object)、数组(Array)、函数(Function)、还有两个特殊的对象:正则(RegExp)和日期(date)。
JavaScript拥有动态类型
JavaScript拥有动态类型。这意味着相同的变量可用作不同的类型:
<script>
var x;//x为undefined
var x = 5;//现在x为数字
var x = "john";//现在x为字符串
</script>
变量的数据类型可以使用typeof操作符来查看:
<script>
typeof "john" //返回string
typeof 3.14 //返回number
typeof false //返回boolean
typeof [1,2,3,4] //返回object
typeof {name:'john',age:34} //返回object
</script>
JavaScript字符串
字符串是存储字符(比如“Bill Gates”)的变量。
字符串可以是引号中的任意文本。您可以使用单引号或双引号:
<script>
var carname = "Volvo Xc60";
var carname = 'Volvo Xc60';
</script>
您可以在字符串中使用引号,只要不匹配包围字符串的引号即可:
<script>
var ans = "It's alright";
var ans = "He is called 'Johnny'";
var ans = 'He is called "Johnny"';
</script>
JavaScript数字
JavaScript只有一种数字类型。数字可以带小数点也可以不带:
<script>
var x1=34.00; //使用小数点来写
var x2=34; //不使用小数点来写
</script>
极大或极小的数可以通过科学(指数)计数法来书写:
<script>
var y=123e5; // 12300000
var z=123e-5; // 0.00123
</script>
JavaScript布尔
布尔(逻辑)只有两个值:true或false。
<script>
var x=true;
var y=false;
</script>
JavaScript数组
下面代码创建名为cars的数组:
<script>
var cars=new Array();
cars[0]="Saab";
cars[1]="Volvo";
cars[2]="BMW";
</script>
或者(condensed array):
<script>
var cars=new Array('Saab','Volvo','BMW');
</script>
JavaScript对象
对象由大括号分割。在括号内部,对象的属性以名称和值对的形式(name:value)来定义。属性由逗号分隔:
<script>
var parson = {firstname:'John',Iastname:'Doe';id:5566};
</script>
上面例子中的对象(parson)有三个属性:firstname、lastname以及id。
空格和折行无关紧要。声明可横跨多行:
<script>
var person ={
firstname : 'John',
lastname : 'Doe',
id : 5566
};
</script>
对象属性有两种寻址方向:
<script>
name = person.lastname;
name = person['lastname'];
</script>
Undefined和Null
Undefined这个值表示变量不含有值。
可以通过将变量的值设置为null来清空变量。
<script>
cars = null;
person = null;
</script>
声明变量类型
当您声明新变量时,可以使用关键词"new"来声明其类型:
<script>
var carname = new String;
var x = new Number;
var y =new Boolean;
var cars = new Array;
var person = new Object;
</script>