[零基础俯冲前端]Javascripe的中的变量和9中数据类型(附带parseInt最新面试题)

JS中创建变量的5中方案

传统方案

  1. var声明一个变量
  2. function声明一个函数

ES6中的方案

  1. let声明一个变量
  2. const声明一个不能重新赋值 的变量

模块方案

import

JS中的9中数据类型

基本数据类型

  1. number
  2. string
  3. boolean
  4. null
  5. undefined
  6. symbol
  7. bigint

引用数据类型

  1. object
    {} 普通对象
    [] 数组对象
    /^\d+$/ 正则对象
    new Data()日期对象
  2. function
    普通函数
    箭头函数
    构造函数

数据类型检测

  1. type of
  2. instanceof
  3. constructor
  4. 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>

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42136832/article/details/115028486