专项练习24

news2024/11/15 7:47:27

目录

一、选择题

    1、JavaScript 中的数字在计算机内存中占多少个Byte?

    2、请问以下JS代码会输出什么

二、编程题

    1、以数字的形式返回数字参数向下取整的结果


一、选择题

1、JavaScript 中的数字在计算机内存中占多少个Byte?

A、2 Byte

B、4Byte

C、8Byte

D、16Byte

正确答案:C        你的答案:A

解析:

(1)关于Javascript中数字的部分知识总结

①Javascript中,由于其变量内容不同,变量被分为基本数据类型变量引用数据类型变量

  • 基本类型变量8字节内存,存储基本数据类型(数值、布尔值、null和未定义)的值
  • 引用类型变量则只保存对对象、数组和函数等引用类型的值的引用(即内存地址)

②JS中的数字是不分类型的,也就是没有byte/int/float/double等的差异

(2)JavaScript内部,所有数字都是以64位浮点数形式储存,即使整数也是如此


2、请问以下JS代码会输出什么
var a = 10; 
(function a() {
    a = 20;
    console.log(a); 
})()

A、10

B、20

C、undefined

D、输出函数a的内容

正确答案:D        你的答案:B

解析:

(1)本题存在变量提升函数提升

①一开始变量a被提升,值为undefined,由于函数提升优先级更高,所以a先被赋值为函数
②且是立即执行函数执行了函数a,输出a目前的值(即函数),之后才是被赋值为10

(2)函数可以在函数体中访问自己的标识符(函数名)

(3)普通函数可以修改变量名,立即执行函数不能修改变量名

①普通函数:

function a(){
    a = 34;
    console.log(a)   // 打印结果是34
}
a() 

②立即执行函数:

(function a(){
    a = 34;
    console.log(a)  //打印结果是函数a
})()

(4)详细解答函数不同情况的输出结果

①立即执行函数【不带参数】:如果有与变量相同的函数名,那么函数体内不可以修改函数名

(function add(){
    add = 100;//此行代码作废,无效,因为此行代码的意思是要修改函数名,此处是立即执行函数,不允许被修改!
    console.log(add);
})();

②立即执行函数【不带参数】:如果没有与变量相同的函数名,那么可以正常输出变量值

(function (){
    a = 100;// 此时的a成为全局变量,挂在到window上!
    console.log(a);//100
})();

 ③普通函数【不带参数】:如果有与变量相同的函数名,调用函数将报错

var add = 1;
function add(){
    add = 2;
    console.log(add);//2
}
add();

 ④普通函数【带参数】:变量的有效作用域

var a = 1;
function add(a=2){  
   console.log(a);//2  这地方的a在预解析变量声明提升处理完成后,最后一步会把同名的参数a的值2,赋值给变量a
   var a = 3;//该赋值仅在函数内有效
   console.log(a);//3  
}
add();
console.log(a)//1 

 ⑤普通函数【带函数参数】:执行函数传参的函数

<script>
    var a = 1;
    function add(a = 1, b = function () {
        a = 3;
        console.log(a);//3  修改的是参数体内的a!
    }) {
        b();
        console.log(a);//1 变量声明提升之后,被同名函数a覆盖,后又被同名参数a覆盖,最终值为1
        var a = 10; //该赋值仅在add()函数内有效
        console.log(a);//10    
    } 
    add();
    console.log(a)//1  最外层的a变量
</script>

二、编程题

1、以数字的形式返回数字参数向下取整的结果

解析:

(1)Math.floor()方法,向下取整

<script>
    let number = 23.46
    function _floor(number){
        return Math.floor(number)
    }
    console.log(_floor(number));
</script>

(2)Math.trunc()方法将数字的小数部分去掉,只保留整数部分

<script>
    let number = 23.46
    function _floor(number){
        return Math.trunc(number)
    }
    console.log(_floor(number));
</script>

(3)spliit()方法,字符串切割

<script>
    let number = 23.46
    function _floor(number){
        let arr = number.toString().split('.')
        return +arr[0]
    }
    console.log(_floor(number));
</script>

(4)parseInt()方法,转整型

<script>
    let number = 23.46
    function _floor(number){
        return parseInt(number)
    }
    console.log(_floor(number));
</script>

(5)~~两次按位取反

<script>
    let number = 23.46
    function _floor(number){
        return ~~number
    }
    console.log(_floor(number));
</script>

(6)>>右移位运算

<script>
    let number = 23.46
    function _floor(number){
        return number >> 0
    }
    console.log(_floor(number));
</script>

(7)

<script>
    let number = 23.99
    function _floor(number){
        return number-number%1
    }
    console.log(_floor(number));
</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/740147.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何在购物 App 上实现商品快递物流信息的展示

前言 现如今&#xff0c;人们大多数会选择在手机购物App上进行购物&#xff0c;这样买东西很是便捷&#xff0c;不用出门就能买到全国各地甚至是国外的商品&#xff0c;下单之后只需要等待快递送达就可以了。一个购物APP&#xff0c;不可或缺的一个辅助功能就是&#xff0c;展…

GPT-4 验明真身的经典三连问:快速区分 GPT-3.5 与 GPT-4

GPT-4 验明真身的经典三连问&#xff1a;快速区分 GPT-3.5 与 GPT-4

华为VRP系统基础

系列文章目录 华为数通学习&#xff08;1&#xff09; 目录 一&#xff0c;什么是VRP? 二&#xff0c;VRP的发展 三&#xff0c;VRP的文件系统 3.1&#xff0c;系统文件:.cc结尾 ​编辑 3.2&#xff0c;配置文件&#xff1a;.cfg&#xff0c;.zip&#xff0c;.dat结尾 3.…

统计年,月,日,java补充无的数据

需求&#xff1a;营收趋势图。需要按年&#xff0c;按月&#xff0c;按日。按年&#xff0c;后方选择日历 起始年-结束年。例如start2013 end 2023 按月&#xff0c;后方选择月份 起始月-结束月。例如start 2022-10 end 2023-07。 按日&#xff0c;后方选择日 起始日-结束日。例…

Vue-CodeMirror 使用

vue2 安装 npm install vue-codemirror -S # or yarn add vue-codemirror -S 全局配置&#xff0c;main.js文件引入 import VueCodemirror from vue-codemirror // import base style import codemirror/lib/codemirror.css Vue.use(VueCodemirror)Vue 文件内使用 <templ…

QDialog的相关API函数

目录 常用的一些 API 函数: QDialog 的子类 QMessageBox&#xff1a; QFileDialog QFont 字体类 QColorDialog QInputDialog QProgressDialog 总结 QDialog是Qt框架中的一个控件类&#xff0c;用于实现对话框的界面。对话框通常用于显示一个独立的窗口&#xff0c;该窗口会显…

手撕spring05(xml解析bean)

概述 通过加载配置文件的信息&#xff0c;注册xml的bean配置 整体设计 知识点补充 返回指定资源的输入流 // 相对路径获取流 java.lang.ClassLoader#getResourceAsStream // 绝对路径获取流 java.io.FileInputStream#FileInputStream(java.io.File) // URL获取流 java.net…

尚医通02:医院API的CRUD+环境搭建

目录 今日必会 项目环境搭建 医院设置模块搭建 配置使用Swagger2 统一返回结果 实现带条件带分页查询接口 新增、修改接口开发 批量删除、锁定医院设置 统一异常处理 今日必会 1.简单的搭建环境。要明白什么时候是pom/war/jar yygh_parent <pom> commo…

开发第一个基于PyQt5的桌面应用

必须使用两个类&#xff1a;QApplication和QWidget。都在PyQt5.QtWidgets。 创建设计了一个小窗口 Qt-Designer的介绍 布局——垂直布局、水平布局、栅格布局、表张布局 空间 垂直、水平空间 按钮相关的控件 普通按钮、工具条按钮、单选按钮、多选按钮、连接命令按钮 列表控…

GD32F4_USB无法识别

Q&#xff1a;GD32F4做USB通讯&#xff0c;在120M\160M时钟主频下能被识别并通讯&#xff0c;在设置主频为200M时无法被识别或通讯异常。 A&#xff1a;注意USB时钟来源&#xff0c;USB工作时钟频率为48M

ETHERNET/IP转PROFIBUS-DP网关Profibus DP转EtherNet/IP协议转换网关

大家好&#xff0c;今天要给大家介绍一款非常神奇的通讯网关捷米特JM-DPM-EIP&#xff01;这款产品可以将各种PROFIBUS-DP从站接入到ETHERNET/IP网络中&#xff0c;真是一款神奇的产品啊&#xff01;你是否想过&#xff0c;如果没有这款产品&#xff0c;PROFIBUS-DP从站和ETHER…

ChatGPT上线GPT-4以来最强应用代码解释器(CodeInterpreter),5分钟教会你熟练使用比肩博士

7月9日消息&#xff0c;OpenAI的语言模型ChatGPT推出了新功能&#xff1a;代码解释器&#xff08;CodeInterpreter&#xff09;。这个新功能已经对所有Plus订阅用户开放&#xff0c;代码解释器扩展了ChatGPT的功能&#xff0c;为用户带来了更好的交互式编程体验和强大的数据可视…

mac批量在文件名前面加相同文字?

mac批量在文件名前面加相同文字&#xff1f;你平时在使用电脑进行工作或者学习的时候&#xff0c;是不是需要做一些关于文件整理和保存的操作呢&#xff0c;并且还需要对一大堆的文件进行重名呢&#xff1f;相信很大多数小伙伴都要面对这些&#xff0c;经常需要将大量文件的名称…

学习分布式锁原理的一些个人思考

首先分布式锁和我们平常讲到的锁原理基本一样&#xff0c;目的就是确保&#xff0c;在多个线程并发时&#xff0c;只有一个线程在同一刻操作这个业务或者说方法、变量。 在一个进程中&#xff0c;也就是一个jvm 或者说应用中&#xff0c;我们很容易去处理控制&#xff0c;在jd…

微软MFC技术中的消息队列及消息处理(上)

我是荔园微风&#xff0c;作为一名在IT界整整25年的老兵&#xff0c;今天来聊聊微软MFC技术中的消息队列及消息处理。 MFC应用程序中由Windows 系统以消息的形式发送给应用程序的窗口。窗口接收和处理消息之后&#xff0c;把控制返回给Windows。Windows系统在同一时间可显示多…

Scratch 随机平台发球

Scratch 随机平台发球 本程序整合了之前发布的“随机平台跳跃”和“棒球发球与反弹”程序的功能。球被设为跟随角色以确保发球位置正常&#xff0c;增加的功能主要是球在碰到平台时可以结合上一个坐标判断接触到平台上方还是下方并向相应方向旋转90度以更好地模拟反弹效果&…

多元时间序列 | Matlab基于高斯过程回归GPR多维时间序列预测,GPR多变量时间序列预测(Matlab完整程序)

目录 多元时间序列 | RBF径向基神经网络多变量时间序列预测(Matlab完整程序)预测结果基本介绍程序设计参考资料多元时间序列 | RBF径向基神经网络多变量时间序列预测(Matlab完整程序) 预测结果 基本介绍 多元时间序列 | Matlab基于高斯过程回归GPR多维时间序列预测,

大量的闲置校园网/校园WiFi服务器

开学的时候服务器不够用&#xff0c;放假的时候服务器闲置下来&#xff0c;是不是还是得发展免流&#xff0c;只有免流才不分白天黑夜上学下学或者放假开学&#xff0c; 目前免流也就只能玩玩停机卡免流&#xff0c;定向流量转通用流量&#xff0c;除了停机卡比较稳定&#xf…

【CANoe+vTESTstudio】

vTESTstudio(TSO)是测试实施的专用工具。它是一种将传统的Test Automation Editor&#xff08;TAE&#xff09;那样的将用户界面、CAPL和C#等程序语言的实施环境集成在一起的工具。 vTESTstudio画面 vTESTstudio和CANoe 可以使用与CANoe通用的数据库&#xff0c;各文件类也可…

什么是分布式?——分布式的基本概念

目录 1、微服务 2、集群&分布式&节点 3、远程调用 4、负载均衡 5、服务注册/发现&注册中心 6、配置中心 7、服务熔断&服务降级 8、API 网关 1、微服务 微服务架构风格&#xff0c;就像是把一个 单独的应用程序 开发为 一套小服务 &#xff0c;每个 小…