#监督自己每日一题,早日成为计算机大牛
JavaScript 学习手册二:JS 数据类型
第1关:JavaScript 数据类型介绍
任务描述
本关任务:在函数 objectTest() 内部定义了六个变量 a、b、c、d、e、f,并已经赋值,你需要判断它们各是什么数据类型。变量 aType、bType、cType、dType、eType、fType 分别表示上面六个变量的数据类型的名字,你需要给他们赋值。比如变量 a 如果是数字类型,需要给变量 aType 赋值字符串 number。可选的数据类型名如下: number、string、bool、object、undefined 和 array 分别表示数字、字符串、布尔型、对象类型、undefined 还有数组。
相关知识
JavaScript 的数据类型有数字、字符串、布尔型、对象类型、数组、null 和 undefined。
数字类型
JavaScript 中的数字类型指整数和浮点数,不刻意区分二者。
JavaScript 还支持16进制的整数,在所要表示的16进制数前面加上 0x 或者 0X 即可,如 0x1f 表示整数31。
对于较大或较小的数,JavaScript 还支持科学记数法,如 2e3 表示2000。
对于一般的数学运算,如加减乘除,和数学上的表达方式相同。对于稍微复杂的运算,需要通过 Math 对象定义的函数来实现,下面是一些例子:
var number1 = 0X11; //17
var number2 = 2.01e-2; //2.01*0.01
var number3 = Math.sqrt(9); //计算9的平方根
字符串
在 JavaScript 中,没有字符的说法,字符看成长度为1的字符串,字符串指包含在单引号或者双引号中的文本。
需要特别注意的是,字符串中的字符不能和外侧的单引号或者双引号构成一个引号对,如果字符串中有引号,需要用转义字符将这些引号变为普通字符,简单来说,转义字符的功能就是使字符串中的字符不被误认为该字符串的结束符号。
如 I'm studying a language,需要用\
把中间的单引号转义:
var tran = 'I\'m studying language';
另外,关于字符串,有很多常用的函数,可参考本实训系列的第九篇实训。
布尔型
布尔型:有两种逻辑状态的类型,它的值只有 true 和 false 两个,分别表示正确、错误。
var boolType1 = true;
var boolType2 = false;
常用在控制结构的不同入口的判断上,如:
if(myNumber == 1) { //myNumber为1则返回true并进入下面的句子
console.log("myNumber值为1");
}
else {
console.log("myNumber值不为1");
}
数组
JavaScript 中的数组是数据的集合,每一个数据在数组中对应一个位置,称为该数据的索引。数据称为数组中的元素,JavaScript 数组中的元素可以是不同的数据类型。
var myArray = [1,2,true,"string",3.2];
上面就定义了一个含有整数、布尔型、字符串、浮点数的数组。 关于数组的内容有很多,详细请参考《JavaScript 学习手册五:JS 数组》。
null 和 undefined
undefined 表示某个变量没有被赋值,比如,变量在申明的时候没有赋值,那么它的值就是 undefined。null 是对象,是一个空的对象引用。
var myVar;
console.log(myVar);
console.log(a);
如上面所示,尝试输出变量 myVar,结果会输出 undefined,因为这个变量只申明,没有赋值。而尝试输出变量a
会产生错误,因为这个变量没有定义,是一个空的对象引用。
对象类型
JavaScript 是面向对象的语言,严格的来说,在 JavaScript 中,一切都可称为对象。但是我们这里介绍的对象仅指键值对的集合,可以类比于 C 中的结构体或者 Java 中的对象。
- 对象的创建:
var student = {
name:"Peter",
age:23,
gender:male}; //申明并初始化对象
- 对象的使用,比如获取对象里的某个属性的值:
console.log(student.name); //输出"Peter"
- 还可以更改这个属性的值:
student.name = "Bob";
console.log(student.name); //输出"Bob"
编程要求
本关的编程任务是补全右侧代码片段中 Begin-End 中的代码,具体要求如下:
-
在函数 objectTest() 内部定义了六个变量a、b、c、d、e、f,并已经赋值,你需要判断它们各是什么数据类型;
-
变量 aType、bType、cType、dType、eType、fType 分别表示上面六个变量的数据类型的名字,你需要给他们赋值。比如变量 a 如果是数字类型,需要给变量 aType 赋值字符串 number;
-
可选的数据类型名如下: number、string、bool、object、undefined 和 array 分别表示数字、字符串、布尔型、对象类型、undefined 还有数组。
具体实现
function objectTest() {
var a = {name:"myName",id:2};
var b = [1,true,2];
var c = 1;
var d = "1";
var e = true;
var f;
var aType,bType,cType,dType,eType,fType;
//请在此处编写代码
/********** Begin **********/
aType = "object";
bType = "array";
cType = "number";
dType = "string";
eType = "bool";
fType = "undefined";
/********** End **********/
return aType+","+bType+","+cType+","+dType+","+eType+","+fType;
}
感谢阅读!