JS-task1

JavaScript 定义了几种数据类型? 哪些是原始类型?哪些是复杂类型?

JavaScript共定义了六种数据类型。分别为:
1.number:数值。整数和小数。
2.string:字符串。由零或多个16位Unicode字符组成的字符序列。
3.boolean:布尔值。Boolean类型只有两个字面量,分别是true和false。虽然true可以转换成数字值1,false可以转换成数字值0,但是true和false与数字值不是一个概念,因此true不一定等于1,false也不一定等于0。
4.undifined:undefined类型只有一个值,那就是undefined,在使用var操作符定义一个变量,但是并未给该变量赋值,也就是没有初始化,此时该变量的值就是undefined。
5.null:ull类型与Undefined类型一样,也是只有一个值null,当使用typeof操作符检测null值时,返回object,表明null为一个空对象指针。如果要声明一个变量用来保存对象,那么最好将该变量初始化为null而不是其他的值,这样只需要检测该变量是否为null值就可以确定该变量是否保存了一个对象的引用。
6.object:对象。Javascript中的对象其实就是一组数据和功能的集合,也可以说是一组无序的名值对的集合。
其中number、string、boolean被称为原始类型,object为复杂类型。

如何判断一个变量是否是数字、字符串、布尔、函数

用typeof运算符。

var a="aaa"
var b= 123
var c= 4>3
var d= ;
var e= function ( ) {}

typeof a //返回string;
typeof b  //返回number;
typeof c  //返回boolean;
typeof d  //返回undefined;
typeof e  //返回function

==与===有什么区别

==表示相等操作符,先转换再比较,转换之后比较相等则返回true;===表示全等操作符,仅比较而不转换,未经转换就相等则返回true。

以下代码的输出结果是?为什么?

console.log(1+1);    //2,在两个操作数都是数字的时候,会做加法运算
console.log("2"+"4");  //24,两个都是字符串会拼接
console.log(2+"4");  //24,一个数值一个字符串,数值会被转化成字符串然后与另一字符串拼接
console.log(+"4");  //4,在只有一个字符串参数时会尝试将其转换成数值

以下代码的输出结果是?

var a = 1;  
a+++a;  
typeof a+2;

number2。原因:a+++a等于3,typeof3返回"number"是一个字符串,字符串与数值做加法,数值会被转化成字符串然后与另一字符串拼接,得到number2

你可能感兴趣的:(JS-task1)