美文网首页
js数据类型运算符流程控制语句

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

作者: 向前冲冲的蜗牛 | 来源:发表于2017-09-19 00:24 被阅读0次

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

js定义了6种数据类型分别是 Number,String,undefined,null,boolean,object

null和undefined的区别是 null一般表示空值,而undefined表示没有值

原始类型是 数值,字符串,布尔类型

复杂类型是:object 对象:数组,函数,正则表达式。

至于undefined和null,一般则是将它们看作两个特殊的值。

原始类型与复杂类型的区别是:

原始类型是不能再细分的了,而复杂类型则是多个原始类型的值的合成,可以看作是一个存放各种值的容器。

2.typeof和instanceof的作用和区别?

typeof测试原始数据类型,instanceof测试实例类型

图1 图2 图3 图4 图5

而instanceof可以区分数组和对象

图6

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


图1 图2

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

NaN表示 非数字 Not a number,NaN和任何值都不相等。

特别之处是:NaN==NaN结果是false

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

5.1 Number()

5.2 parseInt( )

3 parseFloat ( ) 

6.==与===有什么区别

==普通相等,表明是值的相等

而===则是严格相等,比较的是类型和值

7.break与continue有什么区别

break是跳出循环体,continue跳出单次循环

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

undefined在JavaScript中并不属于保留字/关键字,因此在IE5.5~8中我们可以将其当作变量那样对其赋值(IE9+及其他现代浏览器中赋值给undefined将无效)于是采用void方式获取纯正的未经赋值的undefined则成了通用准则。void 变量 无论怎样结果都为undefined

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

9.1  console.log(1+1) 结果为2 , 因为两个操作数都是数字会加做加法运算

9.2 console.log("2"+"4")结果为”24“ ,因为两个操作数是字符串,会做字符串拼接

9.3 console.log(2+"4")结果是”24“,因为当操作数中一个是字符串的时候,如果另一个不是字符串,则会将该操作数转为字符串,所以将2转为”2“,然后再做字符串的拼接。

9.4 console.log(+"4") 结果是4,当只有一个字符串参数的时候会将其转换为数字

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

结果是"number2"

优先级为 ++,+

分析:a+++a=(a++)+a

先执行a++结果为1,a=1+1=2,

1+a则结果为1+2=3.而 typeof a+2中typeof的优先级比+高 ,先执行 typeof a,结果为”number“,”number“+2,则是2转为”2“,然后做字符串的拼接,结果为”nuber2“

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

结果为 4

分析:a+++b=(a++)+b,因为“++”的优先级高于“+”,所以先执行(a++),而(a++)是先执行后+,则结果为1,a=2,(a++)+b则是1+b=1+3=4.

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

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

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

14.1

     结果为"number2"

分析:"||"或运算是前面的值为true,则不管后面的值如何,则结果为前面的值

优先级为: typeof  +  > || =

var  vall=(typeof a)+b || (c>0)

typeof a结果为“number”,"number"+b结果为"number2", 或运算是“number2”为结果,因此 val为“number2”

14.2

结果为 undefined

只要“&&”前面是true,无论“&&”后面是true还是false,结果都将返“&&”后面的值;

优先级是: ==  &&   =

var  data=(data==5)&&(console.log("bb") )

(data==5)结果为 true,&&运算以(console.log("bb") )的值为结果 undefined。因为函数表达式没有return 语句就会返回undefined

14.3

结果:undefined

只要“||”前面为false,无论“||”后面是true还是false,结果都返回“||”后面的值。

优先级:|| =

等式为 var data2=d=(0||console.log("haha"))

(0 || console.log("haha")) 0是false,结果undefined,因为函数表达式没有return 语句就会返回undefined

data2=undefined

14.4

结果: 2

当有逗号运算的时候取后面的值。

等式为:var x=true+(!!"form here!!")

                      =true+true

                     =2

关乎逻辑运算符的”短路”功能的总结如下

1、只要“||”前面为false,无论“||”后面是true还是false,结果都返回“||”后面的值。

2、只要“||”前面为true,无论“||”后面是true还是false,结果都返回“||”前面的值。

3、只要“&&”前面是false,无论“&&”后面是true还是false,结果都将返“&&”前面的值;

4、只要“&&”前面是true,无论“&&”后面是true还是false,结果都将返“&&”后面的值;

参考链接:https://www.cnblogs.com/pigtail/archive/2012/03/09/2387486.html

相关文章

  • 4/07day28_js基础

    day28_js基础 回顾 JS基础语法 JS运算符 JS流程控制语句 条件语句 JS的条件语句和Java语法基本...

  • JS语法

    JavaScript基本概念、基础数据类型、运算符、流程控制语句。 一、CSS和JS在网页中的放置顺序是怎样的? ...

  • 关于Javascript语法

    * 这是关于JavaScript基本概念、基础数据类型、运算符、流程控制语句的一些小知识 * 1.CSS和JS在网...

  • 16.JS 语法

    学习内容:JavaScript基本概念,基础数据类型,运算符,流程控制语句 一、CSS和JS在网页中的放置顺序是怎...

  • 2018.10.31条件语句和循环语句

    流程控制语句 JS条件语句 通过条件来控制程序的走向,需要用到条件语句 运算符分类 明细算术运算符 +(加)...

  • 2018-09-09

    java语法 包括 数据类型 、变量、运算符、流程控制语句、循环结构 1、数据类型 基本数据类型: ①浮点型(小数...

  • js运算符

    js基础语法:运算符,判断语句,数据类型,js对象 一、运算符 赋值运算符 =算数运算符 +-*/% ++...

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

    数据类型运算符流程控制语句 一、JavaScript 定义了几种数据类型? 哪些是原始类型?哪些是复杂类型?原始类...

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

    数据类型运算符流程控制语句 JavaScript 定义了几种数据类型? 哪些是原始类型?哪些是复杂类型?原始类型和...

  • Dart语法学习

    目录 参考资料 语言特性 关键字 变量与常量 数据类型 运算符 operators 控制流程语句 异常 Excep...

网友评论

      本文标题:js数据类型运算符流程控制语句

      本文链接:https://www.haomeiwen.com/subject/ndtisxtx.html