进阶2

2017-10-13  本文已影响0人  饥人谷_一叶之秋

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

二,typeof和instanceof的作用和区别?

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

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

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

六,==与===有什么区别

七,break与continue有什么区别

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

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

进阶2-3.png

十,以下代码的输出结果是?

进阶2-4.png

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

进阶2-5.png

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

进阶2-1.png

十三,遍历 JSON, 打印里面的值

进阶2-2.png

十四,以下代码输出结果是? 为什么 (选做题目)

1. 进阶2-6.png

根据优先级typeof a为最高输出“number”,因为b=2可以得到“number2”,由于是 || 或运算符,所以左边成立,右边即可忽略。通过console.log(val) 的时候,就去掉了""得到number2。

进阶2-7.png

根据赋值运算符优先级低,而&&运算只有两项都为true时才为true,一个为false就返回false。运算如下:true && 'bb',因为非空字符串的布尔值时true,所以该表达式的值为true,因此返回‘bb'。

进阶2-8.png

因为赋值运算符优先级低,而||运算只要一个为true就返回true。运算如下:0 || 'haha' => 0 || true,返回true,因此把字符串返回并复制给d和data2。

进阶2-9.png

根据 。因为!为逻辑非运算,取值的逻辑值相反,两个!即相当于值原本的逻辑值。逗号运算符返回第二项,又因为非空字符串的逻辑值时true,而布尔值做加法运算时,true转为1,false转为0。因此运算如下:true + (!"world", !!"from here!!") => true + !!"from here!!" => true + true => 1 + 1 => 2.

上一篇 下一篇

猜你喜欢

热点阅读