[零基础俯冲前端]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不在范围内,直接是NaNNaN
parseInt(‘10’,2)‘10’二进制数转十进制为22
parseInt(‘25’,3)三进制数5不符合,所以只有‘2’三进制转十进制还是22
parseInt(‘23’,4)‘23’四进制转十进制 2*4+311

代码运行和结果对比

<!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>

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值