JavaScript 定义了几种数据类型? 哪些是原始类型?哪些是复杂类型?原始类型和复杂类型的区别是什么?
定义了6种数据类型,数字number,对象object,undefined未定义,布尔值boolean,字符串string,null空
数字number,布尔值boolean,字符串string原始类型
对象object是复杂类型
至于undefined和null,一般将它们看成两个特殊值。
基本类型变量存的是值,复杂类型的变量存的是内存地址。
基本类型在赋值的时候拷贝值,复杂类型在赋值的时候只拷贝地址,不拷贝值。
按顺序使用用内,每个数据占据的位数是固定的(基本类型),这种内存叫做「栈内存」;另一个,就是专门用来存储位数不固定的数据(复杂类型),存的时候不一样按顺序一个一个存,这种内存叫做「堆内存」。
typeof和instanceof的作用和区别?
.typeof和instanceof的作用和区别?
typeof 是用于返回一个数据其原始的数据类型,对于常见的几大数据类型都可以用typeof 数据类型的方式进行判断.
答:instance 是用于判断某个对象是不是构造函数的一个实例,举例来说就是一个新声明的变量是不是调用了构造函数的内置属性或方法.
如何判断一个变量是否是数字、字符串、布尔、函数
使用typeof来判断,如下:
1.typeof 123 // "number"
2.typeof '123' // "string"
3.typeof false // "boolean"
4.function f() {}
typeof f // "function"
NaN是什么? 有什么特别之处?
- NaN( Not a number), 不是数字
- 任何NaN的值进行操作都会返回一个NaN,
- NaN与任何值都不相等
如何把非数值转化为数值?
如何把非数值转化为数值?
借助函数即可完成Number() / parseInt() / parseFloat()
==与===有什么区别
== 相等
=== 严格相等
两等号判等会在比较时进行类型转换;三等号判等不会进行类型转换(如果类型不同会直接返回 false )
break与continue有什么区别
break与continue有什么区别break跳出循环体,continue跳出单次循环
void 0 和 undefined在使用场景上有什么区别
前者在函数中,作为返回值的一种判断
undefined可以在局部作用域中被覆写,而void运算返回之都是undefined
. 以下代码的输出结果是?
console.log(1+1); //2 number 2
console.log("2"+"4"); //24 string+string “2”“4”
console.log(2+"4"); //24 number+string 2“4”
console.log(+"4");//4 string4
. 以下代码的输出结果是?
var a = 1;
a+++a; //3 '++'的优先级比'+'高,相当于2+1=3
typeof a+2;//"number2" ,因为 typeof的优先级比+高,相当于 (typeof a)+2
以下代码的输出结果是? 为什么
var a = 1;
var b = 3;
console.log( a+++b );//4 相当于(a++)+b,a先加再自增。
遍历数组,把数组里的打印数组每一项的平方
var arr = [3,4,5]
//for(i=0;i<arr.length;i++){console.log(arr[i]*arr[i])}
遍历 JSON, 打印里面的值
var obj = {
name: 'hunger',
sex: 'male',
age: 28
};
for(var i in obj)
console.log(obj[i]);