JavaScript 的数据类型、typeof 运算符
字符串、数字、布尔、数组、对象、Null、Undefined
JavaScript 拥有动态类型。这意味着相同的变量可用作不同的类型:
var x // x 为 undefined
var x = 6; // x 为数字
var x = "Bill"; // x 为字符串
字符串是存储字符的变量。
字符串可以是引号中的任意文本。您可以使用单引号或双引号:
var carname = "Bill Gates";
var carname = 'Bill Gates';
/* 可以在字符串中使用引号,只要不匹配包围字符串的引号即可 */
var answer = "Nice to meet you!";
var answer = "He is called 'Bill'";
var answer = 'He is called "Bill"';
JavaScript 只有一种数字类型。数字可以带小数点,也可以不带:
var x1 = 34.00; //使用小数点来写 var x2 = 34; //不使用小数点来写 // 极大或极小的数字可以通过科学(指数)计数法来书写: var y = 123e5; // 12300000 var z = 123e-5; // 0.00123
布尔(逻辑)只能有两个值:true 或 false。
JS 中的 if 语句自动调用 Boolean()函数。
var x = true; var y = false;
下面的代码创建名为 cars 的数组:
var cars = new Array(); cars[0] = "Audi"; cars[1] = "BMW"; cars[2] = "Volvo";
或者 (condensed array):
var cars = new Array("Audi", "BMW", "Volvo");
或者 (literal array):
var cars = ["Audi", "BMW", "Volvo"];
对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔:
var person = {firstname:"Bill", lastname:"Gates", id:5566}; // 空格和折行无关紧要。声明可横跨多行: var person = { firstname : "Bill", lastname : "Gates", id : 5566 };
对象属性有两种寻址方式:
name = person.lastname;
name = person["lastname"];
Undefined 这个值表示变量不含有值。变量或数组未赋值,系统默认赋值 undefined
Null:表示没有任何数据的特殊类型,一旦出现在代码中,数据类型会直接转换为Object类型。可以通过将变量的值设置为 null 来清空变量。
cars = null; // 清空数组cars person = null; // 清空对象person
Object:是 js 语言中引用数据类型的父类,常见的子类:Array数组、Date时间、Math数学、DOM、BOM、自定义类型...
————————————————————
typeof 运算符:检测一个变量的数据类型
typeof 运算符的运算结果:"undefined"、"number"、"string"、"boolean"、"object"、"function"
<script type="text/javascript"> var num = null; /** * 在js语言中存在一个typeof运算符,可以检测一个变量的数据类型 * 可以使用日志输出的方式查看程序的运算结果 相当于Java语言中System.out.println() */ console.log(num) // null console.log(typeof num) // object num = 10; console.log(typeof num) // number console.log(num) // 10 function test(){} console.log(typeof test) // function </script>