Web17.JS数据类型/运算符/优先级/流程控制语句

来源:互联网 发布:打造世界怎么修改数据 编辑:程序博客网 时间:2024/06/05 19:54










这几种都是引用类型


















null和undefined


第一行后面:语法效果没有区别




































用小数判断的时候要注意















































































































参考:http://javascript.ruanyifeng.com/grammar/basic.html#toc21

            http://book.jirengu.com/fe/前端基础


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

6种数据类型

数值 字符串 布尔值为原始类型

对象为复杂类型

区别:原始类型是最基本的数据类型,不能再细分了

            复杂类型往往是多个原始类型的值的合成,可以看作是一个存放各种值的容器

            undefined和null,一般将它们看成两个特殊值


2.typeof和instanceof的作用和区别

typeof   返回一个值的数据类型  但是无法判断object的具体类型

instanceof       判断一个东西是否由某个构造函数所创建的实例      区分数组和对象



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

typeof  777 === 'number'

typeof  'abc' === 'string'

typeof   true === 'boolean'

typeof f === 'function'



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

Not a Number 表示非数字

js中类型可以相互转换

比如   parseInt("true")得到的结果为NaN

是一个数字类型,但代表任何一个数字

所以NaN ===NaN  false



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

有三个函数

Number()

parseInt()

parsefloat()


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

==  是近似相等



===是绝对相等 是严格判断




7.break与continue有什么区别

break用于强制退出循环体,执行循环后面的语句

continue用于退出本次循环,执行下次循环



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

void是一个运算符,作用是执行一个表达式,然后返回undefined

某些情况下undefined可以被赋值,这时如果想判断一个变量,可以

使用  a === void 0



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


2  数字加法

24 当作两个字符串相加

24 数字和字符串相加, 数字转换成字符串后与字符串拼接

4  当作数字输出


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


结果:3

            "number2"


a++的权重比+要高,所以先计算a++ a++结果为1,

但a =2了已经   所以1+2=3

typeof的优先级比+高 ,typeof a 结果为number   number+2所以

为number2


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


先算 a++ 将结果与b相加

所以结果为4


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


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

    console.log(arr[i]*arr[i])

}



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


遍历对象

for( var key in obj){

    console.log(obj[key])

}  



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



1.   结果为number2    typeof a 结果为number  再和b拼接结果为number2

|| 运算符任意一边满足条件即可 所以结果为number2

2.   结果为bb   undefined    console.log优先级高所以 先得到结果bb

d == 5 && console.log()  由于console.log无法转换成布尔值,

所以结果为false

3.  结果为 haha  undefined  原理类似上面

4.结果为2   布尔值想加

!!   true     ! false     所以相当于 1 + (1+0)





表达式: 是一个值  比如 a + b

语句: 比如a + b; 是一行完整的代码

阅读全文
0 0