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

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

JS的数据类型包括:
1、数值;2、字符串;3、布尔值;4、undefined;5、null;6、对象。
其中,数值、字符串、布尔值属于原始类型(primitive type)的值。它们是最基本的数据类型,不能再细分了;
而将对象称为复杂类型(complex type)的值。因为一个对象往往是多个原始类型的值的合成,可以看作是一个存放各种值的容器。

typeof和instanceof的作用和区别?

利用typeof运算符可以直接返回一个变量的数据类型;
而instanceof则用于判断一个变量是否属于某种数据类型,它会返回一个布尔值。

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

直接使用typeof运算符+被判断的对象。
返回值number代表数字,string代表字符串,boolean代表布尔值,function代表函数。

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

当undefined转化为数值时,即为NaN。它的含义是Not a Number,表示非数字。
NaN和任何值都不相等,包括自己。

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

利用以下三个函数可以把非数值转换为数值:
1、Number()
2、parseInt()
3、parseFloat()

==与===有什么区别

==表示近似相等,===表示严格相等。
在使用==的时候,JS会先将不同数据类型的值转换为同类型,再做比较;而使用===则两边的值必须是同类型,再进一步判断是否相等。

break与continue有什么区别

break 用于强制退出循环体,整个循环语句都不再执行,而执行循环后面的语句;
continue 用于退出本次循环,不执行continue后面的语句,而执行下次循环。

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

由于undefined是可以被赋值的,当我们在调用undefined进行判断时,并不确定它是否被赋值,因此有可能对结果产生干扰。
而void 0 始终返回 undefined,所以我们通常使用void 0 代替 undefined,这样可以确保判断结果的准确性。

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

console.log(1+1);
//输出“2”。两个数值相加,直接返回计算结果。

console.log("2"+"4");
//输出“24”。两个字符串拼接,返回24。

console.log(2+"4");
//输出“24”。数值2和字符串“4”相加,先将数值2转化为字符串,再和“4”拼接,返回24。

console.log(+"4");
//输出“4”。直接将字符串转换为数值输出。

以下代码的输出结果是?

var a = 1;
a+++a;
typeof a+2;
//输出“number2”。typeof的优先级高于+,所以先输出(typeof a)为number,再和2拼接。

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

var a = 1;
var b = 3;
console.log( a+++b );
//输出“4”。a++是指在本条语句执行完后再+1,所以先输出1+3的值,a再执行自增。

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

var arr = [3,4,5]

for(var i=0;i console.log(arr[i]*arr[i]);
}

遍历 JSON, 打印里面的值

var obj = {
name: 'hunger',
sex: 'male',
age: 28
}

for(var i in obj){
console.log(obj[i]);
}

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