进-2 数据类型运算符流程控制语句

JavaScript 定义了几种数据类型? 哪些是原始类型?哪些是复杂类型?原始类型和复杂类型的区别是什么?

Number类型,String类型,Boolean类型,object类型以及
undefined类型:表示未定义或不存在,即此处没有任何值。
null:表示空缺,此处应该有一个值,但目前为空。

number,string和boolean是原始类型(primitive type),他们是最基本的数据类型,不能在分了。
将对象称为复杂类型(complex type)的值,因为一个对象往往是多个原始类型的值的合成,可以看作是一个存放各种值的容器。
至于undefined和null,一般将它们看成两个特殊值。

typeof和instanceof的作用和区别?

typeof可以返回一个值的数据类型:
"undefined"——如果这个值未定义
"boolean"——如果这个值是布尔值
"string"——如果这个值是字符串
"number"——如果这个值是数值
"object"——如果这个值是对象或null
"function"——如果这个值是函数

typeof已经有非常强的数据类型检测能力,但是在面对object时,有时我们需要更清楚的知道他是什么类型的object。

alert(person instanceof Object);
alert(color instanceof Array);

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

利用typeof。

NaN是什么? 有什么特别之处?

NaN含义是Not a Number,表示非数字,NaN和任何值都不相等,包括自己

如何把非数值转化为数值?

有三个函数可以将非数值转化为数值。

  1. Number()
  2. parseInt()
  3. parseFloat()

==与===有什么区别

==是相等操作符,如果两个数相等,则返回true,操作符会先转换数据类型再比较他们的相等性。===和==基本相同,但===不会转换操作数。

'55' == 55    \true
'55' === 55  \false

break与continue有什么区别

break是停止整个循环,跳出循环。
continue是停止本次循环,继续下次循环。

void 0 和 undefined在使用场景上有什么区别

undefined可以在局部作用域中被覆写void运算返回值始终都是undefined

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

console.log(1+1);         //2
console.log("2"+"4");     //'24'
console.log(2+"4");       //'24' 一个是数字一个是字符串,数字转化为字符串后拼接
console.log(+"4");        //输出4,只有一个字符串会转换成数字输出

以下代码的输出结果是?

var a = 1;     
a+++a;  //3
typeof a+2;   //number2 typeof的优先级高于+运算,所以输出字符串number,字符串与数字相加时,数字转换为字符串

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

var a = 1;
 var b = 3;
 console.log( a+++b ); //4

遍历数组,把数组里的打印数组每一项的平方

  var arr = [3,4,5];
  for(var i = 0; i

遍历 JSON, 打印里面的值

var obj = {
 name: 'hunger', 
 sex: 'male', 
 age: 28 
};
for(var i in obj){
  console.log(i+":"+obj[i]);
}

你可能感兴趣的:(进-2 数据类型运算符流程控制语句)