js 数据类型

2017-08-25  本文已影响0人  sutingy

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

原始类型:number类型,string类型,boolean类型

复杂类型:对象类型

区别:原始类型也叫基本类型、基础类型,不可细分;

复杂类型也叫引用类型,是一组无序功能/数据(key/value)对组合,可由多个原始类型组合而成;可以

再细分成:狭义的对象(object);数组(array),函数(function),正则表达式(regexp)

##typeof和instanceof的作用和区别?

都是用于检测数据类型;

typeof操作符用于直接检测给定变量的数据类型,返回值是代表数据类型的字符串;注:(typeof (null) //"object")

instanceof 也是用于确定某个对象是不是哪种具体类型;返回值是布尔值,(value instanceof Array)

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

用typeof 操作符

typeof (123 === "number" )

typeof ("abc"==="string" )

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

NaN是代表非数值,表示一个操作数本来要返回一个数值但并未返回任何数值的情况;

特别的地方:NaN ==NaN false;typeof (NaN) //“number”;任何和NaN的操作都会返回一个NaN;

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

Number();可以用于任何数据类型

parseInt();parseFloat(); 把字符串转化成数值

<高程P30~32>

##==与===有什么区别

===是严格意义上的相等,要求数值和类型上完全相等

##break与continue有什么区别

break立即跳出循环,强制执行循环体后面的语句;

continue是从该点立即跳出循环,跳回到循环体的顶部,继续往下执行该循环体

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

void 0 返回一个undefined,是一种严格意义上的undefined,不存在;但是在某些场景下可以给undefined赋值,这时的undefined不再是代表未定义,不存在,但是控制台并不会报错,所以无法判断是不是undefined。

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

'console.log(1+1);console.log("2"+"4");console.log(2+"4");console.log(+"4");'

2   "24"    "24"  "4"

##10. 以下代码的输出结果是?

var a =1;  a+++a; typeof a+2;    //"number2"  typeofa的优先级比较高

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

var a =1;var b =3;console.log( a+++b );  //先执行a++,再执行+b,1+3=4

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

var arr = [3,4,5]

for (var i =0 ;i<arr.length;i++) {

var newArr = arr[i]*arr[i];

return newArr;

}

##13. 遍历 JSON, 打印里面的值

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

for (var key in obj) {

console.log(obj[key]);

}

上一篇 下一篇

猜你喜欢

热点阅读