专项练习27

news/2024/11/29 7:56:43/

目录

一、选择题

    1、以下js表达式返回false的是()

    2、如果要在10秒后调用checkState,下列哪行代码是正确的

二、编程题

    1、移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返回新的数组


一、选择题

1、以下js表达式返回false的是()

A、1==true

B、“”==false

C、false==null

D、null==undefined

正确答案:C

解析:

(1)选项

A选项:1==true,会将true转换为1

B选项:"" == false,会将false转换为+0,再将""转换为0

C选项:false == null,会将false转换为+0,比较"+0 == null"时发现没有规则可应用

D选项:null==undefined,undefined值是派生自null值

<script>console.log(1==true);//trueconsole.log(""==false);//trueconsole.log(false==null);//falseconsole.log(null==undefined);//true
</script>

(2)null与undefined

<script>console.log(null == false);//falseconsole.log(null == true);//falseconsole.log(undefined == false);//falseconsole.log(undefined == true);//falseconsole.log(undefined == null);//trueconsole.log(undefined == undefined);//trueconsole.log(null == null);//true
</script>

(3)关于==的比较规则大体有一下几点:

①操作数为数字与字符串时,将字符串转换为数字,再比较值

②操作数为布尔和非布尔时,现将布尔转换为数字,再比较值

③普通类型(布尔/字符串/数字)和对象类型(数组、对象等)比较时,现将对象类型进行 toString() 的转换,如果操作数有布尔类型,则现将布尔类型转换为数字,然后在进行对象的转换,再比较值

④null和undefined,关于它们更多的是记住规则:(1)null == undefined (2)null与undefined不能进行类型转换(换句话说不能进行类型转换,那么怎么能进行同其他类型的比较呢?那自然就是false了)

⑤Nan == Nan //false

(4)最权威的解释如下

ECMAScript 语言规范 - ECMA-262 Edition 5.1 (ecma-international.org)


2、如果要在10秒后调用checkState,下列哪行代码是正确的

A、window.setTimeout(checkState, 10);

B、window.setTimeout(checkState, 10000);

C、window.setTimeout(checkState(), 10);

D、window.setTimeout(checkState(), 10000);

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

解析:

(1)参数解释

①第二个参数单位ms

②第一个参数为没有括号函数名时, 则经过延时时间后执行该函数

③第一个参数为带括号函数名时,会立即执行函数,然后将返回的参数作为第一个参数 。除非给这个带括号的函数名加上引号

(2)不同的调用情况

<script>function checkState() {alert("被调用了");}// window.setTimeout(checkState, 10);//立即被调用// window.setTimeout(checkState(), 10); //立即被调用 // window.setTimeout(checkState, 10000); // 10s后被调用 // window.setTimeout(checkState(), 10000); //立即被调用// window.setTimeout("checkState()", 10000);// 10s后被调用 注意和上一个的区别 有引号 
</script>

二、编程题

1、移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返回新的数组

示例:输入[1, 2, 3, 4, 2], 2        输出[1, 3, 4]

解析:

(1)forEach()循环arr数组

<script>let arr = [1,2,3,4,2]let item = 2function remove(arr, item) {let newArr = []arr.forEach(e=>{if(e!==item){newArr.push(e)}})return newArr}console.log(remove(arr, item));
</script>

(2)filter()过滤器

<script>let arr = [1,2,3,4,2]let item = 2function remove(arr, item) {let newArr = arr.filter(i=>{return i!==item})return newArr}console.log(remove(arr, item));
</script>

http://www.ppmy.cn/news/866370.html

相关文章

【JAVA8】Stream\Comparator

Stream Reduction, 给N个数值&#xff0c;求出其总和/最大值/最小值/均值这一类的操作&#xff0c;称为Reduction Option Optional类是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true&#xff0c;调用get()方法会返回该对象。 Optional 类的引入很好的解…

基于VHDL语言的全加器的设计

基于VHDL语言的全加器的设计 全加器可以由两个半加器和一个或门连接而成&#xff0c;这样得到的半加器电路称为顶层文件。 设计原理图如下&#xff1a; 下面全加器的设计采用层次结构的VHDL程序设计方法&#xff0c;采用元件例化语句。 工程文件名与顶层文件&#xff08;全加…

VHDL语言基础-组合逻辑电路-编码器

目录 编码器的设计&#xff1a; 什么是编码器(Decoder)&#xff1a; 编码器的功能&#xff1a; 优先级编码器&#xff1a; 优先级编码器实现&#xff1a; 编码器的设计&#xff1a; 与译码器类似&#xff0c;编码器同样是数字系统中广泛使用的多输入多输出组合逻辑部件。 …

VHDL语言的数据类型

如前面的笔记所述&#xff0c;在VHDL语言中信号、变量、常数都要指定数据类型。为此&#xff0c;VHDL提供了多种标准的数据类型。另外&#xff0c;为使用户设计方便&#xff0c;还可以由用户自定义数据类型。这样使语言的描述能力及自由度更进一步提高&#xff0c;从而为系统高…

VHDL语言的基本单元(实体和结构体)

VHDL语言设计的基本单元就是VHDL语言的一个基本设计实体&#xff08;Entity&#xff09;。 一个实体&#xff0c;简单的可以是一个与门&#xff0c;复杂点的可以是一个微处理器或一个系统。但是&#xff0c;不管是简单的数字电路&#xff0c;还是复杂的数字电路&#xff0c;其基…

VHDL 计数器实验看VHDL语言

之前的eda课都在划水…利用这个程序来总结一下eda的语法 二十进制计数器 其实二十进制计数器原理很简单。跟随时钟信号相加&#xff0c;即用语句Q Q 1从0到19&#xff0c;当读到19的时候又回到0 其实就是下面的process语句&#xff0c;而clk event那一句其实就是确保&#x…

计算机组成原理VHDL语言实现16位ALU实验

计算机组成原理实验第二个&#xff0c;VHDL语言&#xff0c;ISE设计环境设计一个16位的ALU。 资源下载&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1cyhJ2ZynUMMFnYi2YOIMmA 提取码&#xff1a;0upp library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGI…

(萌新的数电学习)用VHDL语言设计简易模型机结构

实验背景&#xff1a; 计算机的工作过程可以看作是许多不同的数据流和控制流在机器各部分之间的流动&#xff0c;数据流所经过的路径称作机器的数据通路。数据通路不同&#xff0c;指令执行所经过的操作过程就不同&#xff0c;机器的结构也就不一样。 VHDL语言 library ieee;…