Javascripe的中的变量和9中数据类型
JS中创建变量的5中方案
传统方案
- var声明一个变量
- function声明一个函数
ES6中的方案
- let声明一个变量
- const声明一个不能重新赋值 的变量
模块方案
import
JS中的9中数据类型
基本数据类型
- number
- string
- boolean
- null
- undefined
- symbol
- bigint
引用数据类型
- object
{} 普通对象
[] 数组对象
/^\d+$/ 正则对象
new Data()日期对象 - function
普通函数
箭头函数
构造函数
数据类型检测
- type of
- instanceof
- constructor
- Object.prototype.toString.call()
阿里巴巴最新面试题
计算出下面程序运行的结果并分析原因
let arr=[10.18,0,10,25,23];
arr=arr.map(parseInt);
console.log(arr);
map(item,index)方法:迭代五次,map会return item*10;
所以第一句执行之后
arr=[101.8,0,100,250,230];
parseInt(value,radix)
1.从value字符串左侧第一个字符开始查找,找到所有符合radix进制的值(直到遇到一个非radix进制的值则停止查找)
2.把找到的值当作radix进制,最后转换为10进制
3.radix不屑或者写0,默认值是10(以0x开始的字符串默认radix是16)
4.radix的取值范围2–36之间,不在这个范围内的,最后处理结果都是NaN
把一个N进制的值转换为10进制
1.数值中的每一位*N^位权值
2.最后把每一位计算的结果累加
3.个位数的位权值0,十位1,百位2
等价语句 | 分析 | 结果 |
---|---|---|
parseInt(‘10.18’,0) | 0默认为10,找到小数点结束‘10’十进制数是本身 | 10 |
parseInt(‘0’,1) | 1不在范围内,直接是NaN | NaN |
parseInt(‘10’,2) | ‘10’二进制数转十进制为2 | 2 |
parseInt(‘25’,3) | 三进制数5不符合,所以只有‘2’三进制转十进制还是2 | 2 |
parseInt(‘23’,4) | ‘23’四进制转十进制 2*4+3 | 11 |
代码运行和结果对比
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
let arr=[10.18,0,10,25,23];
arr=arr.map(parseInt);
console.log(arr);
</script>
</body>
</html>