JavaScript 定义了几种数据类型? 哪些是原始类型?哪些是复杂类型?原始类型和复杂类型的区别是什么?
定义了6种数据类型,分别是number、string、undefined、null、boolean以及object
number、string、boolean称为原始类型,即它们是最基本的数据类型,不能再细分了。
将对象称为复杂类型(complex type)的值,因为一个对象往往是多个原始类型的值的合成,可以看作是一个存放各种值的容器。
至于undefined和null,一般将它们看成两个特殊值。
typeof和instanceof的作用和区别?
都用于判断数据的类型,是一种特殊的运算符。instanceof一般用于判断对象实例的类型,typeof用于判断简单的数据类型
如何判断一个变量是否是数字、字符串、布尔、函数
var a = 1;
var b = 'jirengu';
var c = true;
var d = function() {};
console.log(typeof a); // number
console.log(typeof b); // string
console.log(typeof c); // boolean
console.log(typeof d); // function
NaN是什么? 有什么特别之处?
全局属性 NaN 表示 Not-A-Number 的值,与任何值都不相等,包括NaN自己,因此等号运算符(== 和 ===) 不能被用来判断一个值是否是 NaN。
如何把非数值转化为数值?
- Number()
- parseInt()
- parseFloat()
==与===有什么区别
== 相等
=== 严格相等
==判等会在比较时进行类型转换;===判等不会进行类型转换(如果类型不同会直接返回 false )
break与continue有什么区别
break 用于强制退出循环体,执行循环后面的语句
continue 用于退出本次循环,执行下次循环
void 0 和 undefined在使用场景上有什么区别
undefined在JavaScript中并不属于保留字/关键字,因此在IE5.5~8中我们可以将其当作变量那样对其赋值(IE9+及其他现代浏览器中赋值给undefined将无效),于是采用void方式获取纯正的未经赋值的undefined则成了通用准则。
以下代码的输出结果是?
console.log(1+1); //2
console.log('2'+'4') //'24'
console.log(2+'4') // '24'
console.log(+'4') // 4
var a = 1;
console.log(a+++a); // 3
console.log(typeof a+2); // 'number2'
var a = 1,b = 3;
console.log(a+++b); // 4
遍历数组,把数组里的打印数组每一项的平方
var arr = [3, 4, 5];
for (var 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]);
}
以下代码输出结果是?
var a = 1, b = 2, c = 3;
var val = typeof a + b || c >0
console.log(val) // 'number2'
var d = 5;
var data = d ==5 && console.log('bb')
console.log(data) // undefined
var data2 = d = 0 || console.log('haha')
console.log(data2) // undefined
var x = !!"Hello" + (!"world", !!"from here!!");
console.log(x) // 2
网友评论