getability---two

1:JavaScript定义了几种数据类型?哪些是复杂类型?区别

六种数据类型
原始:String、boolean、number
复杂:object因为它可以看做存放原始类型的容器,把对象细分又可以分为数组array、函数function、正则表达式regexp。null、undefined是两种特殊类型
es6又新加了一个新的基本类型:Symbol

2:typeof和instanceo的作用和区别?

typeof:检测给定变量的数据类型;
instanceo:判断一个变量是否是某个对象的实例,返回布尔值,只能用来判断对象和函数,不能判断字符串和数字等!

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

使用typeof判断;例如:typeof 123 //‘number’

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

NaN:not a Number,表示非数字。NaN和任何值都不相等,包括NaN自己;

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

三个函数:Number()、parSeInt()、parSeFloat(),
空字符串转化为0,使用类似乎与Parseint()/parseFloat()的时候可以向函数传递第二个参数如:parseint(a,8)即调用8进制来解析;

6:==和===有什么区别?

==:比较数值是否相等;
===:比较数据类型和数值是否相等,即全等;

7:break与continue有什么区别?

break:用于强制退出循环体,执行循环后面的语句,
continue:用于退出本次循环,执行下次循环;

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

undefined可以在局部作用域中被重写,而void运算符返回的永远都是undefined
从用 void 0 代替 undefined 说起——伯乐在线
void运算符——MDN

9.以下代码的输出结果是?为什么?
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;

答案:3、number2

11. 以下代码的输出结果是? 为什么
 var a = 1;
 var b = 3;
 console.log( a+++b );
答案:4

12. 遍历数组,把数组里的打印数组每一项的平方
 var arr = [3,4,5]
答案:for(var i=0;i0
console.log(val) 
答案:number2
    运算符优先级看 typeof > + > > > ||
    先算出typeof a是number
    再算"number"+b,得到number2
    然后是c>0 ,得到true
    然后计算number2 || true 
    number2转化为布尔值为true,得出true
    返回number2

14-2:
var d = 5;
var data = d ==5 && console.log('bb')
console.log(data)
答案:bb、undefined
    从运算符优先级看console.log() > == > && > =
    console.log(‘bb’)输出bb
    判断d是否等于5,得出true
    判断true和console.log(),是否都为true 
    console.log('bb')无法被隐式转化为布尔值
    得到undefined
    undefined赋给data

14-3:
var data2 = d = 0 || console.log('haha')
console.log(data2)
 答案:haha、undefined
    运算符优先级 console.log() > ll > = 
    且赋值方向是从右向左的
    先执行console.log();
    判断0和console.log(‘haha’)是否其中有true
    得出undefined
    最终将undefined赋值给data2

14-4:
var x = !!"Hello" + (!"world", !!"from here!!");
console.log(x)
答案:2
    运算符优先级
    ! > + > =
    字符串前加!强制转换成布尔值,并转换成false
    !!代表双重否定 结果为TRUE

    !!"hello ,!!"from here!!"转换为true
    !"world"转换为false
    当布尔值相加时,会转换为1和0,分别由true和false转换而来

你可能感兴趣的:(getability---two)