JavaScript 定义了几种数据类型? 哪些是原始类型?哪些是复杂类型?原始类型和复杂类型的区别是什么?
6种:undefined、num(数值型)、string(字符串)、boolean(布尔型)、NaN(not a number)、object(对象)
原始型:num(数值型)、string(字符串)、boolean(布尔型)
复杂型:object(对象)
原始型是指最基本的数据类型,不能再细分了。
复杂型是多个原始型的值得合集。
typeof和instanceof的作用和区别?
typeof 是用于返回一个数据其原始的数据类型,对于常见的几大数据类型都可以用typeof 数据类型的方式进行判断。
instance 是用于判断某个对象是不是构造函数的一个实例,就是一个新声明的变量是不是调用了构造函数的内置属性或方法。
如何判断一个变量是否是数字、字符串、布尔、函数
用typeof variable_name 得到的结果就是这个变量的数据类型。
NaN是什么? 有什么特别之处?
NaN表示非数字;任何值和NaN都不相等,包括NaN自己。
如何把非数值转化为数值?
有三种方法
Number() :
parsreInt() :将非数值转化为整数;规则是从值得最左边开始解析直到解析到第一个不是数字的字符;输出之前的结果。
parseFloat():将非数值转化为浮点数;规则是从值得最左边开始解析直到解析到第二个小数点或第一个非小数点也非数值的字符
==与===有什么区别
==:约等于的意思,在数据类型不相等的情况下,如果数值相等,结果也为true。
===:全等于的意思,数据类型和数值都必须全部相等,输出结果才为true。
break与continue有什么区别
break:跳出整个循环体,不再执行循环。
continue:跳出本次循环,进入下一次循环。
void 0 和 undefined在使用场景上有什么区别
void 0的返回值一定是undefined;
而undefined有可能在局部作用域内被赋为其他类型的值。
以下代码的输出结果是?为什么?
console.log(1+1); //输出2: 数值2和数值2相加等于4
console.log("2"+"4"); //输出24:字符串和字符串相加“+”等于连字符,把两个字符串相连
console.log(2+"4"); //输出24:数值和字符串相加等于把数值和字符串相连
console.log(+"4"); //输出4:“+”后面只有数字,则直接输出数字内容为数值
以下代码的输出结果是?
var a = 1;
a+++a;
typeof a+2;
//输出"number2"
- 以下代码的输出结果是? 为什么
var a = 1;
var b = 3;
console.log( a+++b );
输出4
- 遍历数组,把数组里的打印数组每一项的平方
var arr = [3,4,5]
var arr =[3,4,5];
for (var i=0; i < arr.length; i++) {
console.log(Math.pow(arr[i],2))
}
- 遍历 JSON, 打印里面的值
var obj = {
name: 'hunger',
sex: 'male',
age: 28
}
for(var key in obj){
console.log( obj [key] )
}
- 以下代码输出结果是? 为什么 (选做题目)
var a = 1, b = 2, c = 3;
var val = typeof a + b || c >0
console.log(val)
//输出number2;因为typeof优先级高,所以先计算。
var d = 5;
var data = d ==5 && console.log('bb')
console.log(data)
//输出bb和undefined;d ==5 最先计算,结果为true;然后在控制台输出bb;true&&undefined的结果为undefined
var data2 = d = 0 || console.log('haha')
console.log(data2)
//输出haha和undefined;先赋0给b,结果为false;然后在控制台输出haha;false||undefined的结果为undefined
var x = !!"Hello" + (!"world", !!"from here!!");
console.log(x)
//输出2;原式=!!"Hello"+!!"from here!!"
=ture+true
=1+1=2
网友评论