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

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

JavaScript语言的每一个值,都属于某一种数据类型。JavaScript的数据类型,共有六种。

1.数值(number):整数和小数(比如1和3.14)
2.字符串(string):字符组成的文本(比如"Hello World")
3.布尔值(boolean):true(真)和false(假)两个特定值
4.undefined:表示“未定义”或不存在,即此处目前没有任何值
5.null:表示空缺,即此处应该有一个值,但目前为空
6.对象(object):各种值组成的集合
原始类型:
1.数值
2.字符串
3.布尔值
复杂类型:对象
两者区别:
原始类型:它们是最基本的数据类型,不能再细分了
复杂类型:因为一个对象往往是多个原始类型的值得合成,可以有多个值,可以看成一个存放各种值得容器。

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

typeof和可以确定一个值是什么类型。
1、typeof 可以返回如下几个结果:
number,boolean,string,function,object,undefined
2、typeof可以用来检查一个没有声明的变量,而不报错

typeof v
// "undefined"

3、其他情况都返回object

typeof window // "object"
typeof {} // "object"
typeof [] // "object"
typeof null // "object"

instanceof 用于判断一个变量是否某个对象的实例,一般用于对象和函数中。

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

typeof 123 // "number"
typeof '123' // "string"
typeof false // "boolean"

function f () {}
typeof f
// "function"

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

  NaN == NaN; //false
  parseInt('abc'); //NaN

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

1. Number()
2. parseInt()
3. parseFloat()

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

==:是近似相等运算符,===是严格相等运算符,
1、如果两个值类型相同,则执行严格相等的运算
2、如果两个值的类型不同
如果一个是null,一个是undefined,那么相等
如果一个是数字,一个是字符串,先将字符串转为数字,然后比较
如果一个值是true/false则将其转为1/0比较
如果一个值是对象,一个是数字或字符串,则尝试使用valueOf和toString转换后比较
其它就不相等了

七、break与continue有什么区别

break和continue多用在循环语句中
1、break 用于强制退出循环体,执行循环后面的语句
2、continue 用于退出本次循环,执行下次循环

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

undefined:

1,变量声明后未赋值,则变量会被自动赋值为 undefined
2,函数中定义了一些形参,如果传入的实参少于预定义的形参,那么有一些形参就会匹配不到实参,继而会被自动赋值为 undefined
3,没有返回值的函数,默认返回 undefined

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

1,生成 undefined
2,让函数立即执行
3,充当 javascript: 协议的 URI生成 undefined

使用 void 0 生成 undefined 的做法由来已久,既减少了在原形链上查找 window.undefined 的时间,也避免了误用被修改过的 undefined。

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

console.log(1+1);    //2  两个数字相加,做加法运算
console.log("2"+"4");  //24  两个字符串相加,做字符串拼接
console.log(2+"4");  //24  一个数字和一个字符串相加,也做字符串拼接
console.log(+"4");//4  一个字符串,直接输出里面的东西

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

var a = 1;  //undefined
a+++a;  //(a++)+a->3
typeof a+2;//"number2"

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

 var a = 1;
 var b = 3;
 console.log( a+++b );//4 (a++)+b->4

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

 var arr = [3,4,5]//var arr=[3,4,5]
    for(var i =0; i

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

var obj = {
 name: 'hunger', 
 sex: 'male', 
 age: 28 
}//for(var key in obj){
console.log(obj[key])
 }
 hunger
 male
 28

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

var a = 1, b = 2, c = 3;
var val = typeof a + b || c >0
console.log(val) //number2->||的左边是(typeof a)+b得number2,右边为true

var d = 5;
var data = d ==5 && console.log('bb')
console.log(data)// bb ->data= [(d ==5) && 'bb' ]-> 'bb'

var data2 = d = 0 || console.log('haha')
console.log(data2)//haha 
 
var x = !!"Hello" + (!"world", !!"from here!!");
console.log(x)//2

你可能感兴趣的:(数据类型运算符流程控制语句)