当前位置: 首页 > news >正文

专项练习11

目录

一、选择题

    1、执行下列选项的程序,输出结果不是Window对象的是()

    2、以下哪些代码执行后 i 的值为10:

二、编程题

    1、判断 val1 和 val2 是否完全等同

    2、统计字符串中每个字符的出现频率,返回一个 Object,key 为统计字符,value 为出现频率①不限制 key 的顺序;②输入的字符串参数不会为空;③忽略空白字符


一、选择题

1、执行下列选项的程序,输出结果不是Window对象的是()

A、

setTimeout(function(){console.log(this);},1000);

B、

function Star(){console.log(this);}new Star();

C、

var o = {sayHi:()=>{console.log(this);}}o.sayHi();

D、

(function(){console.log(this);}());

正确答案:B

解析:

(1)箭头函数不会与this进行绑定,其this指向取决于该箭头函数同级作用域的this指向,又由于对象不能形成自己的作用域,因此其作用域为全局作用域,this指向Window对象

(2)

①默认绑定:指向window,例如fn(),实际上是window.fn(),window调用,指向window

②隐式绑定:obj.fn() ,指向obj,是obj在调用

③显示绑定:call()、apply()、bind(),要指向谁就写在()里面

④new绑定:指向new创建的对象,new fn()


2、以下哪些代码执行后 i 的值为10:

A、

let i =1 + {valueOf() { return 9; }
};

B、

let i = 0;
new Array(10).forEach(() => {i++;
});

C、

let i = parseInt('0xA');

D、

let i = 5;
function a(i) {i *= 2;
}
a(i);

正确答案:AC        你的答案:BCD

解析:

(1)A选项:{ valueOf() { return 9; } } 有一个匿名对象

①该对象有一个名为 valueOf 的方法,对象与数字相加时,对象调用自身的 valueOf 方法转换为数字,故输出 i == 1 + 9 == 10;

②当对象没有提供valueOf方法时,对象与数字都转换为字符串相加1 + {} == '1[object Object]'

③valueOf() 在尝试加法、乘法之类的会转换成原值,转换成原始值,有两种模式:

        偏字符串(首先调用tostring 如果不是原始值 会调用valueof)

        偏数值(首先调用valueof 如果不是原始值接着调用tostring)

(2)B选项:输出值为0,因为forEach方法在数组元素为空时会跳过执行回调函数,相当于此选项回调函数并未执行

(3)C选项:在没有指定基数的情况下,如果字符串以"0x"或者"0X"开头, 则基数是16 (16进制)。

相当于let i = parseInt('0xA',16)

(4)D选项:i 是形参,属于局部变量,执行 a(i) 后,返回undefine,不影响全局变量 i 的值


二、编程题

1、判断 val1 和 val2 是否完全等同

解析:

(1)法一:Object.is()

function identity(val1, val2) {return Object.is(val1,val2)
}

(2)法二:===

function identity(val1, val2) {return val1 === val2
}

2、统计字符串中每个字符的出现频率,返回一个 Object,key 为统计字符,value 为出现频率
①不限制 key 的顺序;②输入的字符串参数不会为空;③忽略空白字符

输入描述:'hello world'        输出描述:{h: 1, e: 1, l: 3, o: 2, w: 1, r: 1, d: 1}

解析:

(1)法一:filter过滤空格,forEach遍历字符串元素

<script>let str = 'hello world'function count(str){let strArr = str.split("").filter(e=>{return e&&e.trim()})const obj = {}strArr.forEach(element => {if(obj[element]){obj[element]++}else{obj[element] = 1}});return obj}console.log(count(str));
</script>

(2)法二:利用replace和正则将str存在的空格去除,利用for of 迭代可迭代对象

<script>let str = 'hello world'function count(str){let strArr = str.replace(/\s/gi,'')const obj = {}for(let i of strArr){if(obj[i]){obj[i]++}else{obj[i] = 1}}return obj}console.log(count(str));
</script>

相关文章:

专项练习11

目录 一、选择题 1、执行下列选项的程序&#xff0c;输出结果不是Window对象的是&#xff08;&#xff09; 2、以下哪些代码执行后 i 的值为10&#xff1a; 二、编程题 1、判断 val1 和 val2 是否完全等同 2、统计字符串中每个字符的出现频率&#xff0c;返回一个 Object&…...

ASP.NET+SQL通用作业批改系统设计(源代码+论文)

随着网络高速地融入当今现代人的生活,学校对网络技术的应用也在不断地提高。学校的教学任务十分复杂,工作也很繁琐,在教学任务中,作业的批改也是一个很重要的环节。为了提高老师工作效率,减轻教师的工作强度,提高作业批改的灵活性,《通用作业批改系统》的诞生可以说是事在…...

基于深度学习的高精度打电话检测识别系统(PyTorch+Pyside6+YOLOv5模型)

摘要&#xff1a;基于深度学习的高精度打电话检测识别系统可用于日常生活中或野外来检测与定位打电话目标&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方式的打电话目标检测识别&#xff0c;另外支持结果可视化与图片或视频检测结果的导出。本系统采用YOLOv5目标检…...

Vue搭建智能文本检索视频界面

前言 随着人工智能技术的发展&#xff0c;智能文本检索已经成为了一种非常流行的技术。在视频领域中&#xff0c;智能文本检索技术可以帮助用户快速找到自己需要的视频片段&#xff0c;提高用户的观看体验。本文将介绍如何使用Vue框架搭建一个智能文本检索视频界面&#xff0c…...

软考A计划-系统集成项目管理工程师-一般补充知识-中

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff…...

springboot-内置Tomcat

一、springboot的特性之一 基于springboot的特性 自动装配Configuretion 注解 二、springboot内置Tomcat步骤 直接看SpringApplication方法的代码块 总纲&#xff1a; 1、在SpringApplication.run 初始化了一个上下文ConfigurableApplicationContext configurableApplica…...

Flink流批一体计算(2):Flink关键特性

目录 Flink关键特性 流式处理 丰富的状态管理 丰富的时间语义支持 Data pipeline 容错机制 Flink SQL CEP in SQL Flink 应用程序可以消费来自消息队列或分布式日志这类流式数据源&#xff08;例如 Apache Kafka 或 Kinesis&#xff09;的实时数据&#xff0c;也可以从各…...

2023软件工程中各种图在现代企业级开发中的使用频率

概览 系统流程图 ✔ 数据流图 不常用 ER图 ✔ 状态转换图 ✔ Warnier图 不常用 IPO图 不常用 Petri网 不常用 层次方框图 不常用 层次图 a.k.a. H图 ✔ 1,层次图描绘软件的层次结构.层层次方框图描绘的是数据结构。 2,层次图的方框表示模块或子模块。层次方框图的方框表示数据结…...

macOS Big Sur 11.7.8 (20G1351) 正式版 ISO、PKG、DMG、IPSW 下载

macOS Big Sur 11.7.8 (20G1351) 正式版 ISO、PKG、DMG、IPSW 下载 本站下载的 macOS 软件包&#xff0c;既可以拖拽到 Applications&#xff08;应用程序&#xff09;下直接安装&#xff0c;也可以制作启动 U 盘安装&#xff0c;或者在虚拟机中启动安装。另外也支持在 Window…...

【C++案例】一个项目掌握C++基础-通讯录管理系统

文章目录 1、系统需求2、菜单功能3、退出功能4、添加联系人4.1 设计联系人结构体4.2 设计通讯录结构体4.3 main函数中创建通讯录4.4 封装添加联系人函数4.5 测试添加联系人功能 5、显示联系人5.1 封装显示联系人函数5.2 测试显示联系人功能 6、删除联系人6.1 封装检测联系人是否…...

Triton教程 --- 动态批处理

Triton教程 — 动态批处理 Triton系列教程: 快速开始利用Triton部署你自己的模型Triton架构模型仓库存储代理模型设置优化动态批处理 Triton 提供了动态批处理功能&#xff0c;将多个请求组合在一起执行同一模型以提供更大的吞吐量。 默认情况下&#xff0c;只有当每个输入在…...

Python的并行(持续更新)

0. 参考&#xff1a; 《Python并行编程 中文版》https://python-parallel-programmning-cookbook.readthedocs.io/zh_CN/latest/index.html 1. 线程和进程&#xff1a; 进程可以包含多个并行运行的线程&#xff1b;通常&#xff0c;操作系统创建和管理线程比进程更省CPU资源&am…...

chatgpt赋能python:Python实现Fibonacci数列

Python实现Fibonacci数列 Fibonacci数列是一个非常经典的数列&#xff0c;定义如下&#xff1a; F ( 0 ) 0 , F ( 1 ) 1 F(0)0, F(1)1 F(0)0,F(1)1 F ( n ) F ( n − 1 ) F ( n − 2 ) F(n)F(n-1)F(n-2) F(n)F(n−1)F(n−2) 也就是说&#xff0c;第n个数等于前两个数之和…...

开环模块化多电平换流器仿真(MMC)N=6

模型简介&#xff1a; 运行环境MATLAB2021a 开环模块化多电平换流器仿真&#xff08;MMC&#xff09;N&#xff1d;6&#xff0c;连接负载&#xff0c;采用载波移相调制。 可以得到换流器输出N&#xff0b;1&#xff1d;7电平的相电压波形。可考虑线路阻抗。 子模块采用半桥结…...

java springboot整合MyBatis联合查询

前面文章 java springboot整合MyBatis做数据库查询操作写了springboot整合MyBatis的方法 并演示了基础查询的语法 根据id查 那么 我们这次来演示联合查询 我们staff 表 内容如下 每条数据 对应的都有一个departmentid 这是 department部门表的外键id department表内容如下 如…...

windows2022证书配置.docx

Windows证书的配置 要求两台主机&#xff0c;一台作为域&#xff0c;一台进入域 按要求来选择角色服务 确认之后安装 安装完以后配置证书服务 选择服务 按要求配置 注&#xff1a;此处不用域用户登陆无法使用企业CA 按要求来 创建新的私钥 这几处检查无误后默认即可 有效期…...

HCIP网络笔记分享——IA回顾及OSPF协议

第一部分 HCIA回顾1、网络基础2、动态路由协议3、路由认证4、路由控制&#xff08;AD metric &#xff09; 一、知识巩固二、场景模拟1、获取IP地址1.1 DHCP --- 动态主机配置协议1.1.1 DHCP客户端1.1.2 DHCP服务器1.1.3 DHCP客户端1.1.4 DHCP服务器 2、打开浏览器3、路由器进行…...

网络:IP地址、子网掩码、网络地址、广播地址、网段、网关

目录 一、IP地址 二、子网掩码 三、网络地址 四、广播地址 五、网段 六、网关 七、IP地址、子网掩码、网络地址、广指地址、网殷、网关的关系 参考链接 一、IP地址 IP地址是因特网协议&#xff08;IP&#xff09;中使用的一种数字标识符&#xff0c;用于唯一地标识网络…...

编程的未来 - 还有未来么?

缘起 唐门教主上个月某天深夜写了一篇博客 --《编程的未来》&#xff0c;要我谈谈感想。 这也是最近软件工程师们聊得比较多的问题&#xff0c;上周&#xff0c;在上海的 “关东小磨” 和十多位 CSDN 博主聚会的时候&#xff0c;大家也稍微谈了一下这个话题&#xff0c;但是谈…...

从零开始搭建群众权益平台(二)

这篇文章我们要建立的群众权益维护平台需要提供用户注册、登录、提交和查看问题或建议的功能,并且支持电话短信登录。在这个过程中,我们需要存储用户的登录信息。 我们将使用Node.js和Express.js作为后端框架,MongoDB作为数据库,并且使用Twilio服务发送短信验证码来实现手…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子&#xff0c;用于处理异步操作&#xff08;如数据加载&#xff09;中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误&#xff1a;捕获在 loader 或 action 中发生的异步错误替…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】

微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来&#xff0c;Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建&#xff08;全平台详解&#xff09; 在开始使用 React Native 开发移动应用之前&#xff0c;正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南&#xff0c;涵盖 macOS 和 Windows 平台的配置步骤&#xff0c;如何在 Android 和 iOS…...

FastAPI 教程:从入门到实践

FastAPI 是一个现代、快速&#xff08;高性能&#xff09;的 Web 框架&#xff0c;用于构建 API&#xff0c;支持 Python 3.6。它基于标准 Python 类型提示&#xff0c;易于学习且功能强大。以下是一个完整的 FastAPI 入门教程&#xff0c;涵盖从环境搭建到创建并运行一个简单的…...

uniapp中使用aixos 报错

问题&#xff1a; 在uniapp中使用aixos&#xff0c;运行后报如下错误&#xff1a; AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...

大数据学习(132)-HIve数据分析

​​​​&#x1f34b;&#x1f34b;大数据学习&#x1f34b;&#x1f34b; &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 用力所能及&#xff0c;改变世界。 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4…...

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

JS手写代码篇----使用Promise封装AJAX请求

15、使用Promise封装AJAX请求 promise就有reject和resolve了&#xff0c;就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...

C++实现分布式网络通信框架RPC(2)——rpc发布端

有了上篇文章的项目的基本知识的了解&#xff0c;现在我们就开始构建项目。 目录 一、构建工程目录 二、本地服务发布成RPC服务 2.1理解RPC发布 2.2实现 三、Mprpc框架的基础类设计 3.1框架的初始化类 MprpcApplication 代码实现 3.2读取配置文件类 MprpcConfig 代码实现…...

算法打卡第18天

从中序与后序遍历序列构造二叉树 (力扣106题) 给定两个整数数组 inorder 和 postorder &#xff0c;其中 inorder 是二叉树的中序遍历&#xff0c; postorder 是同一棵树的后序遍历&#xff0c;请你构造并返回这颗 二叉树 。 示例 1: 输入&#xff1a;inorder [9,3,15,20,7…...