JavaScript 多选题

2025年3月17日 | 50分钟阅读

一、这组问题主要关注 JavaScript 中的语句

1) JavaScript 语言的类型是 ___

  1. 面向对象
  2. 基于对象
  3. 汇编语言
  4. 高级

答案: B

解释: JavaScript 不是一种纯粹基于 OOP(面向对象编程)的语言,如 PHP、Java 或许多其他语言,尽管它是一种基于对象的语言。它不是基于 OOP 的语言,因为它不具备面向对象编程语言的三个基本属性:多态性、封装性和继承性。


2) 以下 JavaScript 代码的正确输出是哪个?

  1. 1
  2. Error
  3. 10
  4. 5

答案: A

解释: 上述代码片段的输出将是 1,因为首先,解释器将搜索 "obj" 的属性 (y)。但它未能在 "obj" 中找到属性 "y",因此它会选择对象外部、在给定代码中可用的值。


3) 以下哪个也称为条件表达式?

  1. if-else 的替代方案
  2. Switch 语句
  3. if-then-else 语句
  4. 即时 if

答案: D

解释: 条件表达式只能评估两件事,即真或假,这完全基于条件的评估。


4) 在以下给定的 JavaScript 代码片段中,哪个效率更高?

代码 A

代码 B

  1. 代码 1
  2. 代码 2
  3. 代码 1 和 代码 2 都不是
  4. 无法比较

答案: A

解释: 代码 1 将更有效。事实上,第二个代码可能会遇到运行时错误,因为 "number" 的值永远不会等于或小于 1。


5) 在 JavaScript 中,语句块是什么?

  1. 条件块
  2. 将多个语句组合成一个复合语句的块
  3. 条件块和单个语句
  4. 包含单个语句的块

答案: B

解释: 语句块可以理解为零个或多个语句的集合。通常,语句块的共同定义是“将一个或多个语句组合成一个单独的语句以方便使用”。


6) 当解释器遇到空语句时,它会怎么做?

  1. 显示警告
  2. 提示完成语句
  3. 抛出错误
  4. 忽略语句

答案: D

解释: 在 JavaScript 中,当解释器遇到空语句时,它通常会忽略或不响应该空语句。空语句有时也非常有用,例如我们使用空语句来创建空循环。


7) "function" 和 "var" 被称为

  1. 关键字
  2. 数据类型
  3. 声明语句
  4. 原型

答案:C

解释: "function" 和 "var" 都是声明语句。它们都用于在程序的任何地方定义和声明变量、函数。


8) 在以下给定的 switch 语句语法中,表达式与标签使用以下哪个运算符进行比较?

  1. ===
  2. equals
  3. ==
  4. equals

答案: A

解释: 严格比较运算符仅在操作数类型相同且内容匹配时返回 true。当执行 switch 语句时,表达式的值会被计算并与 case 标签进行比较,查找表达式在评估后产生相同值的 case(其中比较由 === 运算符决定)。


9) 如果执行以下 JavaScript 代码会发生什么?

  1. 显示错误
  2. 抛出异常
  3. 计数变量的值被记录或存储在特定位置或存储中
  4. 控制台显示计数变量从 0 到 9 的值

答案:C

解释: 上述函数中使用的 "console.log()" 是 JavaScript 的预定义函数之一。它将传递的参数值作为参数,并在代码执行时在控制台中显示该参数值。


10) 以下 JavaScript 代码的正确输出是哪个?

  1. 9
  2. 0
  3. 8
  4. 未定义

答案:C

解释: "if-else" 是 JavaScript 中可用的条件语句之一,就像其他几种语言一样。这里 "if" 语句中执行的比较评估为 false,因此 else 部分中写入的指令被执行。如果 "if" 语句中执行的比较评估为 true,则 if 语句中写入的指令将被执行。


11) 以下 JavaScript 代码的正确输出是哪个?

  1. 10
  2. 9
  3. 8
  4. 0

答案:C

解释: 给定程序的代码使用 switch 语句,其中表达式的值与可用的 case 标签进行比较。如果该值与任何 case 标签匹配,则执行与该 case 对应的代码,否则执行 default 中写入的指令。另一个重要点是,switch 语句也用作 "if-else" 语句的替代方案,以减少代码的复杂性和大小。


12) 以下 JavaScript 代码的正确输出是哪个?

  1. 10
  2. 6
  3. 33
  4. 0

答案: B

解释: 如果我们仔细查看给定的代码,我们可以看到在任何 case 标签之后都没有使用 "break" 语句。这意味着如果执行以下程序,所有遵循 "A" 的 case 都会执行。


13) 以下 JavaScript 代码的正确输出是哪个?

  1. 3
  2. 0
  3. Error
  4. 2

答案: B

解释: "if-and if" 语句用于检查多个条件。这是 "if-else" 语句的扩展,也称为 "if-else 阶梯"。我们可以扩展 "if-else" 语句来检查多个条件。


14) 以下 JavaScript 代码的正确输出是哪个?

  1. 10
  2. 17
  3. 18
  4. 0

答案: D

解释: switch case 语句包含多个 case,其中 default case 也是其中之一。default case 仅在没有其他 case 与表达式的值匹配时才执行。


二、这组问题主要关注 JavaScript 中的变量

15) 如果名称相同,以下哪个变量优先于其他变量?

  1. 全局变量
  2. 局部元素
  3. 以上两者
  4. 以上都不是

答案: B

解释: 在 JavaScript 中,如果局部变量和全局变量的名称相同,则局部变量优先于全局变量。


16) 以下哪种是调用 JavaScript 代码的正确方式?

  1. 预处理器
  2. 触发事件
  3. RMI
  4. 函数/方法

答案: D

解释: JavaScript 代码可以通过简单地对需要执行 JavaScript 代码的元素进行函数调用来调用。还有其他几种调用 JavaScript 代码的方式,例如 submit、onclick 和 onload 等。


17) 以下哪种类型的变量是易失的?

  1. 可变变量
  2. 动态变量
  3. 易失变量
  4. 不可变变量

答案: A

解释: 值可以修改的变量称为可变变量。在 JavaScript 中,只有数组和对象是可变的,但原始值不是。


18) 以下哪个选项用作十六进制文字的开头?

  1. 00
  2. 0x
  3. 0X
  4. 0x 和 0X 都不是

答案: D

解释: 通常,X 和 x 都可以用来表示十六进制值,因此任何以 0X 或 0x 开头的整数文字都表示一个十六进制数。


19) 当程序中的算术计算出现不确定或无限值时,JavaScript 会打印______。

  1. 打印异常错误
  2. 打印溢出错误
  3. 显示 "Infinity"
  4. 照原样打印值

答案:C

解释: 在任何算术表达式的结果超出可表示的最大数字的情况下,JavaScript 会打印无穷大。同样,如果任何数值操作的结果超出最大的负数,JavaScript 会打印负无穷大。


20) 在 JavaScript 中,以下哪项不被视为错误?

  1. 语法错误
  2. 缺少分号
  3. 除以零
  4. 缺少括号

答案:C

解释: 是的,你没听错,JavaScript 中任何整数除以零都不是错误。它只是将无穷大作为结果打印出来。但是,JavaScript 中有一个例外,零除以零不会有任何定义的数字/值,因此,此特定操作的结果是一个特殊值“非数字”(或 NaN),并打印为 NaN。


21) 以下给定 Number 对象函数中,哪个将数字格式化为小数点右侧不同位数?

  1. toExponential()
  2. toFixed()
  3. toPrecision()
  4. toLocaleString()

答案: B

解释: "toFixed()" 方法将给定数字格式化为小数点右侧的指定位数。


22) 以下哪个数字对象函数返回数字的值?

  1. toString()
  2. valueOf()
  3. toLocaleString()
  4. toPrecision()

答案: B

解释: "valueOf()" 方法返回传递给它的参数值。


23) 以下哪个 String 对象函数返回从指定位置开始,指定字符数的字符串中的字符?

  1. slice()
  2. split()
  3. substr()
  4. search()

答案:C

解释: JavaScript 中的 "substr()" 方法用于返回从指定位置开始,指定字符数的字符串中的字符。


24) 在 JavaScript 中,x===y 语句意味着

  1. x 和 y 的值、类型和引用地址都相等。
  2. x 和 y 的值仅相等。
  3. 值和数据类型都相等。
  4. 两者完全不同。

答案:C

解释: "===" 语句称为严格比较,仅在两个操作数的类型和内容严格相同时才为 true。

程序

输出

True
False 

25) 从以下选项中选择正确的代码片段,以检查变量 "a" 是否不等于 "NULL"

  1. if(a!==null)
  2. if (a!)
  3. if(a!null)
  4. if(a!=null)

答案: A

解释: "==" 仅在两个操作数的类型和内容相同时才为 true。 "==" 也是用于比较两个操作数是否相等但不会检查变量数据类型的常见抽象之一。因此,"! =" 运算符被称为“不等于”,在本例中用于将 0 与 NULL 进行比较。它根据给定条件获得真或假作为输出。


26) 假设我们有一个文本 "human",我们想在不使用 "new" 运算符的情况下将其转换为字符串。以下哪种方法是正确的?

  1. toString()
  2. String(human)
  3. String newvariable="human"
  4. human.toString() 和 String(human) 都不是

答案: D

解释: 有三种常见的方法可以将文本转换为字符串:value.toString()、"" + value 和 String(value)。我们可以在不使用 "new" 运算符的情况下将文本转换为字符串:human.toString() 和 String(human)。


27) 查看给定的 JavaScript 代码并从以下选项中选择正确的输出

  1. 编译错误
  2. false
  3. 运行时错误
  4. true

答案: D

解释: "==" 运算符会将两个操作数转换为相同的类型(如果它们是不同的数据类型),然后执行比较。严格比较仅在两个操作数的内容和数据类型相同时才为 true。


28) 以下 JavaScript 代码的输出是什么?

  1. true
  2. false
  3. 运行时错误
  4. 编译错误

答案: A

解释: "===" 被称为严格比较运算符,它在操作数的数据类型和内容相同时才返回 true。例如,在 JavaScript 中,当两个字符串的长度、序列和字符相同时,它们才被视为严格相等。


29) 从给定选项中找出以下代码片段的正确输出

  1. 逻辑错误
  2. false
  3. 运行时错误
  4. true

答案: D

解释: 我们可以使用 ".toString()" 方法将非字符串“整数”转换为字符串。 "==="(或者我们可以说严格比较)仅在操作数的内容和数据类型相同时才返回 true。因此,上述代码的输出将为 true。


三、这组问题主要关注 JavaScript 的运算符和表达式

30) 查看给定的 JavaScript 代码并从以下选项中选择正确的输出

  1. 4090
  2. 90
  3. 4050
  4. Exception

答案:C

解释: 在 JavaScript 中,alert 方法执行类型转换,将变量 "valueinit" 的值转换为字符串,然后连接两个字符串并在屏幕上显示它们。因此,这里的正确输出将是 4050。


31) 在 JavaScript 中,什么将用于调用函数定义表达式?

  1. 函数原型
  2. 函数字面量
  3. 函数调用
  4. 函数声明

答案: B

解释: 函数定义表达式是一种“函数字面量”,就像对象初始化器是一种“对象字面量”一样。函数定义表达式(或我们可以说函数字面量)由关键字 Function 组成,后跟括号内用逗号分隔的标识符集(或参数名称),以及一对花括号括起来的一小段 JavaScript 代码(我们通常称之为函数体/定义)。


32) 以下哪项是主要表达式的属性?

  1. 仅包含关键字
  2. 包含所有必要函数的基本表达式
  3. 仅包含变量引用
  4. 独立表达式

答案: D

解释: 在 JavaScript 中,主要表达式也称为最简单表达式,是指不包含任何更简单表达式的独立表达式。变量、常量或字面值以及某些语言关键字是主要表达式的基本示例。


33) 考虑以下 JavaScript 代码片段

以下哪个语句最适合检查模式是否与字符串 "text" 匹配。

  1. test(text)
  2. equals(pattern)
  3. test(pattern)
  4. text==pattern

答案: D

解释: 给定的模式应用于括号中括起来的字符串 "text"。


34) 以下哪项用于在 JavaScript 中调用函数或方法?

  1. 属性访问表达式
  2. 函数表达式
  3. 调用表达式
  4. 主要表达式

答案:C

解释: 调用表达式是 JavaScript 语法之一,用于进行函数调用或调用方法。它总是以函数表达式开头,该表达式标识要调用或执行的特定函数。


35) "new Point(3,2)" 是一种 _______ 表达式

  1. 对象创建表达式
  2. 主要表达式
  3. 调用表达式
  4. 构造函数调用表达式

答案: A

解释: 对象创建表达式创建一个新对象,并调用一个名为构造函数的方法,以初始化该对象的属性。对象创建表达式就像调用表达式一样,只是它们前面带有一个通常称为 New 的关键字。


36) 以下哪个运算符用于检查特定属性是否存在?

  1. Exists
  2. exist
  3. within
  4. in

答案: D

解释: 在 JavaScript 中,"in" 运算符用于检查特定属性是否存在。"in" 运算符通常用于循环语句中遍历数组和对象。


37) 以下哪项是三元运算符?

  1. ?
  2. :
  3. -
  4. +

答案: A

解释: 在 JavaScript 中,只支持一种三元运算符,称为条件运算符,它将三个不同的表达式组合成一个表达式。但是,条件运算符也可以用作 "if else" 语句的替代品。


38) “可以合法地出现在赋值表达式左侧的表达式。”是对变量、对象属性和数组元素的众所周知的解释。它们被称为______。

  1. 性质
  2. 原型
  3. 定义
  4. 左值

答案: D

解释: 术语 "lvalue" 是历史术语之一,它表示“可以合法地出现在赋值表达式左侧的表达式”。对象属性、元素和变量在 JavaScript 中都是左值。


39) 以下 JavaScript 代码的正确输出是哪个?

  1. False
  2. true
  3. 运行时错误
  4. 编译错误

答案: B

解释: 在以下 JavaScript 代码中,使用了 "?",它也称为三元运算符。这里它用于在给定两个选项中选择一个选项。但是,它通常用于编写更短更简单的代码,因为它可以代替 "if else" 语句。


40) 以下给定 JavaScript 代码的正确输出是哪个?

  1. Error
  2. 未定义
  3. 12
  4. 20

答案:C

解释: 在上述给定的 JavaScript 代码中,使用了 "in" 运算符来检查(或执行搜索)特定属性。如果找到某个属性,则返回 true,否则返回 false。


41) 以下给定 JavaScript 代码的正确输出是哪个?

  1. 123.56
  2. 更高
  3. 190
  4. 略矮

答案: B

解释: 在上述给定代码中,使用了三元运算符,它作用于 3 个操作数。以下代码中的语句,使用值“略矮”初始化 type 变量,该值通过函数返回。


42) 以下给定 JavaScript 代码的正确输出是哪个?

  1. 傍晚
  2. 晚安
  3. undefined

答案:C

解释: alert 方法通常用于在 Web 浏览器中的“对话框”中显示作为参数传递的值(或消息)。在这里,alert 方法连接两个给定的字符串并将其作为单个字符串形式的输出打印出来。


43) 以下给定 JavaScript 代码的正确输出是哪个?

  1. Error
  2. clean:意大利
  3. clean:印度
  4. undefined

答案:C

解释: 在以下给定代码中,使用了 "?" 三元运算符来比较值,并根据真条件确定(或初始化)位置,无论是返回 true (1) 还是 false (0)。


44) 以下给定 JavaScript 代码的正确输出是哪个?

  1. 7
  2. -7.25
  3. 25
  4. -7

答案:C

解释: 在以下代码中,使用了 "abs()" 方法,它返回绝对值作为输出,因此正确选项是 c。在 JavaScript 中,"abs()" 方法是 Math 库中的方法之一。


45) 以下给定 JavaScript 代码的正确输出是哪个?

  1. 972
  2. 81
  3. 9
  4. Error

答案: A

解释: 这里上面的代码使用 "cbrt()" 方法,它返回作为参数传递的数字的立方根。 "cbrt()" 方法是 JavaScript 中 math 库中的几种方法之一。


46) 以下给定 JavaScript 代码的正确输出是哪个?

  1. 01
  2. 4
  3. 00
  4. 047

答案: D

解释: 上述代码中使用的 "acos()" 方法返回任何作为参数传递的数字的反余弦。如果传递的值超出 -1 到 1 的限制,返回的值介于 0 到 PI 弧度之间,"acos()" 方法返回 NaN(也称为非数字)。


47) 如果我们使用小于运算符 ("one"<8) 将 "one" 与 "8" 进行比较,我们会得到什么?

  1. False
  2. true
  3. NaN
  4. 未定义

答案: A


48) 以下哪项被称为相等运算符,用于检查两个值是否相等?

  1. =
  2. ===
  3. ==
  4. &&

答案:C

解释: "==" 称为相等运算符,如果两个值相等则返回 true,否则返回 false。


49) 以下哪个运算符在两个值相等时返回 false?

  1. !
  2. !==
  3. !=
  4. 以上全部。

答案:C

解释: "!=" 运算符在两个给定值相等时返回 false。


50) 在运算符值为 NULL 的情况下,一元运算符返回的 typeof 是 ___。

  1. undefined
  2. string
  3. boolean
  4. object

答案: D

解释: 在所有运算符值为 NULL 的情况下,一元运算符始终返回对象类型。


51) 检查以下给定的严格相等运算符语句是否为真或假

a) 如果两个值的数据类型相等,则它们相等。

b) 如果两个值都未定义且都为 null,则它们相等。

  1. 假 真
  2. 假 假
  3. 真 假
  4. 真 真

答案: A

解释: 第一个语句不遵循严格相等 (===) 运算符的属性,但第二个语句遵循。


52) 以下哪个是以下 JavaScript 代码的正确输出?

  1. Letsfindout 40
  2. 40
  3. Letsfindout40
  4. Exception

答案:C

解释: 在 JavaScript 中,alert 方法执行类型转换,将变量 "valueinit" 的值转换为字符串,然后连接两个字符串并在屏幕上显示它们。


53) 以下哪个不是关键字?

  1. if
  2. with
  3. 调试器
  4. use strict

答案: D

解释: "use strict" 是一种在 ECMAScript5 中引入的指令类型,我们都知道指令不是语句,因为它们不包含任何语言关键字。


54) 以下哪个符号用于在 JavaScript 中创建注释?

  1. \\
  2. //
  3. \* *\
  4. \* */

答案: B

解释: 单行注释总是以 "//" 开头,"//" 和行尾之间写入的任何文本都被视为注释并被 JavaScript 忽略。


四、这组问题主要关注 JavaScript 中的“循环”语句

55) 以下 JavaScript 代码的正确输出是哪个?

  1. 反向打印数组中的数字
  2. 按特定顺序打印数组中的数字
  3. 打印 "空数组"
  4. 打印 0 到数组的长度

答案: B

解释: 众所周知,"do-while" 语句创建一个循环,即使给定条件不满足,也会至少运行一次。这是因为它在检查条件之前第一次运行,然后执行直到条件变为 false。因此,它遍历数组并按特定顺序在屏幕上打印数组元素。


56) 以下哪个代码等效于以下 JavaScript 代码?

a) 代码 A

b) 代码 B

C) 代码 C

d) 代码 D


答案: A

解释: 代码 A 中的变量工作方式相同(例如,从索引 0 值遍历数组),就像它在上述代码中工作一样。此外,我们还可以使用 "For-in" 循环语句更有效地执行相同的任务。


57) 循环变量有哪些三个重要的操作?

  1. 更新、递增、初始化
  2. 初始化、测试、递增
  3. 测试、更新、测试
  4. 初始化、测试、更新

答案: D

解释: 在 "For" 循环语句中,初始化、测试和更新(并按相同的顺序)是最重要的操作。首先,变量的初始化完成,然后检查条件,执行花括号中的代码后,变量的值递增。


58) 如果执行以下 JavaScript 代码片段,它会工作吗?如果不会,可能会出现什么错误?

  1. 是的,它会工作得很好
  2. 不,这将根本不会迭代
  3. 不,它会抛出异常,因为 for 循环中只能使用数字
  4. 不,它会产生一个运行时错误,消息为“无法使用链表”

答案: A

解释: 在上述给定代码中,For 循环语句用于遍历链表数据结构,它返回列表的最后一个元素。因此,它肯定会正常工作而不会抛出任何异常。


59) 在以下 JavaScript 代码片段中,"continue" 关键字的作用是什么?

  1. continue 关键字重新启动循环
  2. continue 关键字跳过下一个迭代
  3. "continue" 关键字跳出循环
  4. 它用于跳过该特定迭代中的其余语句

答案: D

解释: continue 关键字不像 break 关键字那样退出循环。它跳过遇到它的迭代中即将到来的语句,并且不退出循环,而是移动到下一个迭代。


60) 以下哪个在 JavaScript 中不被视为“语句”?

  1. use strict
  2. 调试器
  3. if
  4. with

答案: A

解释: 在 JavaScript 中,"use strict" 不是关键字,因为它不包含任何语言关键字。但是,它是 JavaScript ECMAscript5 版本中引入的指令。 "use strict" 只能在脚本开头或函数开头使用,此时尚未提及任何实际关键字。


61) 如果我们定义一个 "for" 循环,它删除了尚未枚举的属性之一会怎样?

  1. 已删除的属性将存储在缓存中
  2. 循环将根本不会运行
  3. 该属性将被枚举
  4. 该特定属性将不会被枚举

答案: D

解释: 如果 "for" 循环的主体删除了尚未枚举的任何属性,通常该属性不会被枚举。如果 "for" 循环语句的对象在对象上创建一个新属性,则该属性通常不会被枚举。


62) 在跳转语句中,当抛出异常时,解释器会做出以下哪种正确响应?

  1. 解释器将跳转到最近的封闭异常处理程序之一
  2. 解释器将抛出另一个异常
  3. 解释器将停止工作
  4. 解释器抛出错误

答案: A

解释: 在跳转语句中,当抛出异常时,解释器会跳转到最近的封闭异常处理程序,该处理程序可能存在于同一函数中。


63) 以下哪项是给定 JavaScript 代码的可能正确输出?

  1. 5
  2. 555
  3. 55
  4. 错误

答案:C

解释: 在 "for" 循环语句中,首先进行变量初始化并检查给定表达式的条件。之后,执行 "for" 循环语句主体中写入的语句。每次迭代后变量的值都会递增,直到条件变为 false。


64) 以下哪项是给定 JavaScript 代码的正确输出?

  1. 136
  2. 123
  3. 013
  4. 01

答案: A

解释: 在 "while" 循环语句中,在执行循环体中写入的语句之前,首先检查条件。通常,计数器变量的值在 "while" 循环体结束时递增,而语句首先执行。


65) 以下哪个选项是给定 JavaScript 代码的正确输出?

  1. 5555
  2. 5321
  3. 531
  4. 531-1-3

答案: D

解释: 当循环体执行时,变量 x 的值将减少 2 次,循环体将执行 4 次,直到 j 的变量值为 0。

输出

JavaScript MCQ

66) 以下哪个选项是给定 JavaScript 代码的正确输出?

  1. 10
  2. 错误
  3. 4
  4. 5

答案: A

解释: 变量的值将一直增加,直到等于 10,然后控制将退出循环的定义。循环定义中没有其他语句要执行,只有变量 "x" 的值将递增,输出将是 10。


67) 考虑以下 JavaScript 代码片段

“debugger”语句的作用是什么?

  1. 它是一种关键字,用于一次调试整个程序
  2. 它什么也不做,尽管它是一个断点
  3. 它将调试该语句中的错误
  4. 以上所有

答案: B

解释: 程序可能包含许多错误,如语法错误、逻辑错误等,其中许多错误没有警报消息,也没有提示来查找错误。因此,为了找到错误的位置并纠正它,开发人员使用调试器窗口在可疑代码处设置断点。


五、这组问题主要关注 JavaScript 中的序列化和对象属性

68) 以下哪个是给定 JavaScript 代码的正确输出?

  1. 12
  2. 错误
  3. true
  4. false

答案: D

解释: Object.preventExtensions () 仅阻止添加已添加到对象的新属性。此更改是不可逆的,这意味着一旦对象变为不可扩展,就无法更改为可扩展。


69) 以下哪个是给定 JavaScript 代码的正确输出?

  1. 运行时错误
  2. 20
  3. 15
  4. 编译错误

答案:C

解释: object.freeze () 方法用于“冻结”对象的属性,并避免向其添加新属性。这避免了对所有现有值、属性和特性的操纵/更改。


70) 以下哪个是给定 JavaScript 代码的正确输出?

  1. False
  2. true
  3. 20
  4. 错误

答案: A

解释: 在 JavaScript 中,"Object.is()" 方法是内置方法之一。此方法用于判断两个值是否相同。还有一个特定的预定义方法可以比较值并返回一个布尔值作为结果,指示两个参数是否相同。


71) 以下 JavaScript 代码的输出是什么?

  1. true 21
  2. true false
  3. false false
  4. true true

答案: D

解释: 在 JavaScript 中,"Object.getOwnPropertyDescriptor()" 提供查询属性详细信息的能力。它返回该属性的属性描述符,该属性直接存在于对象上,并且不存在于特定对象的对象原型中。


72) 以下哪个是给定 JavaScript 代码的正确输出?

  1. 0
  2. 1
  3. 2
  4. Error

答案:C

解释: 上述程序中使用的 "Object.getOwnPropertySymbols()" 方法返回一个符号属性的整个数组,这些属性直接在对象上找到。通常,它返回一个空数组,除非我们已经在对象上设置了符号属性。


73) "toLocateString()" 方法的基本目的是什么?

  1. 它返回本地化对象表示
  2. 它返回对象的本地化字符串表示
  3. 它以字符串格式返回本地时间
  4. 它返回解析后的字符串

答案: B

解释: "ToLocateString()" 方法是 JavaScript 的预定义方法之一,它返回对象的本地化字符串表示。例如,"date.toLocaleSting" 也是 JavaScript 的预定义函数之一,用于将时间和日期转换为字符串。


74) 以下给定的 JavaScript 代码片段正在执行什么样的工作?

  1. 对象封装
  2. 对象编码
  3. 对象抽象
  4. 对象序列化

答案: D

解释: 在上面给出的代码片段中,正在执行对象序列化任务。在此任务中,对象的内部状态转换为字符串,也可以在需要时恢复。上述代码中使用的另一个方法是 "JSON.parse()",它解析 JSON 字符串、字符串描述的对象或构造 JavaScript 值。


75) 一组无序的属性,具有名称和值,称为______

  1. String
  2. Array
  3. 序列化对象
  4. Object

答案: D

解释: JavaScript 中的对象被视为一组无序的相关数据(或属性)、引用类型,以“键:值”对的形式存在。因此,每个属性都包含一个名称和值。


76) 相同数据类型的元素集合,可以有序或无序,称为_____。

  1. String
  2. Array
  3. 序列化对象
  4. Object

答案: B

解释: 数组是相同数据类型的不同元素的集合。它可以按升序、降序或随机顺序放置元素。我们可以将其解释为包含相同数据类型数据项的容器。


77) 每个对象都包含三个对象属性,它们是_______。

  1. 原型、类、对象的扩展标志
  2. 原型、类、对象的参数
  3. 类、参数、对象的扩展标志
  4. 原生对象、类和接口以及对象的扩展标志

答案: A

解释: 通常,每个对象都包含三个与对象相关的属性

对象原型:它是一种对从中继承属性的另一个对象的引用/指示。

对象类:它是一种字符串,用于分类对象的类型。

对象的扩展标志:它简单地指定是否向对象添加了一些新属性。


78) 以下 JavaScript 代码的输出是什么?

  1. 性质
  2. 属性名
  3. 属性值
  4. 对象

答案: B

解释: 在上述给定代码中,使用了嵌套对象(一个对象在另一个对象内部),"firstname"、"lastname" 是属性。该单个属性的值本身就是一个对象。


79) 一组原型对象的链接称为______

  1. 原型堆栈
  2. 原型
  3. 原型类
  4. 原型链

答案: D

解释: 假设 Time.prototype 继承了 Object.prototype 的一些属性,因此使用 new Time() 创建的 Time 对象拥有 Time.prototype 和 Object.prototype 的属性。因此,这种连接的原型对象系列被称为原型链。


80) 在以下代码行中,我们将把括号中写入的“datatype”称为什么?

  1. 一个字符串
  2. 一个整数
  3. 一个对象
  4. 浮点数

答案: A

解释: 在上述给定代码行中,方括号内的值用于访问该对象的属性。在使用方括号时,表达式总是计算为字符串,或者以转换为字符串的值的形式。


81) 要了解对象是否是另一个对象的原型(或原型链的一部分),用户可以使用_______

  1. ==运算符
  2. equals() 方法
  3. === 运算符
  4. isPrototypeOf() 方法

答案: D

解释: 原型是一种几乎所有对象都可用的全局属性。为了了解对象是否是另一个对象的原型(或原型链的一部分),用户可以使用 "isPrototypeOf()" 方法。例如,如果用户想了解 z 是否是 "s" 的原型,用户可以编写 z.isPrototypeOf(s)。


82) 在以下给定的代码行中,原型表示_____

  1. 函数 x
  2. 函数的原型
  3. 自定义构造函数
  4. 无效

答案: B

解释: 通常,每个对象实例都有一个唯一的属性,指示创建它的构造函数。 “自定义”构造函数是一种不需要任何参数(或者我们可以说没有参数的构造函数)的构造函数,如果用户没有创建,它会在对象创建时由编译器自动创建。


六、这组问题主要关注 JavaScript 中的数组

83) 在给定的 JavaScript 代码中,"shift()" 将获得什么输出?

  1. 抛出异常
  2. [4,5]
  3. [3,4,5]
  4. 5

答案: D

解释: 在 JavaScript 中,"unshift()"、"shift()" 方法的工作方式与 push() 和 pop() 类似,但略有不同,与 push 和 pop 不同,unshift()、unshift() 都在数组的开头插入和删除数据项,而不是从数组的末尾。 "unshift()" 用于在数组的开头插入数据元素/项,而 "shift()" 方法将数据项从较高索引移到数组的开头,清空数组的最后一个索引并返回更新后的数组长度。

在移位过程中,数据元素从数组的开头移除,所有后续元素都被移位并返回数组的新长度。


84) 以下哪个选项是给定 JavaScript 代码的正确输出?

  1. 70
  2. 75
  3. 482
  4. 错误

答案:C

解释: 上述代码中使用的 "forEach()" 方法是 JavaScript 的内置方法之一。此方法遍历整个数组,就像我们使用 "for" 循环遍历数组一样。“遍历”一词是指“至少访问数组的每个元素一次”。


85) 以下哪个选项是给定 JavaScript 代码的正确输出?

  1. 一次
  2. 错误

答案:C

解释: 给定代码中使用的 "shift()" 方法是 JavaScript 中预定义的方法之一。此方法用于从开头删除数据元素并返回它以及数组的新长度。我们可以说 "shift()" 方法的工作方式与 "pop" 方法类似,不同之处在于它从数组的开头删除数据元素,而 "pop" 从数组的末尾删除。


86) 以下哪个选项是给定 JavaScript 代码的正确输出?

  1. 1, 2, 3,4
  2. 4, 3, 2, 1
  3. 3
  4. 1

答案: B

解释: 上述代码中使用的 "reverse()" 方法是 JavaScript 的预定义方法之一,用于反转数组的数据元素。


87) 以下哪个选项是给定 JavaScript 代码的正确输出?

  1. Error
  2. 5, 6, 7
  3. 4, 5, 6,
  4. 4, 5, 6, 7

答案: A

解释: 上述程序中使用的 "slice()" 方法是 JavaScript 的内置函数,用于从数组中删除/移除数据项。通常,它需要两个参数,第一个用于起点,另一个用于终点。例如,考虑以下给定代码

<script>
function myFunction() {
  var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
  var myBest = fruits.slice(-3, -1);
document.getElementById("demo").innerHTML = myBest;
}
</script>

输出

柠檬、苹果

但是,我们可以看到,在给定问题中只传递了一个参数,因此它肯定会导致错误。


88) 以下哪个方法或运算符用于识别数组?

  1. Typeof
  2. ==
  3. ===
  4. isarrayType()

答案: D

解释: 在 JavaScript 中,"typeof" 运算符用于了解指定操作数的数据类型,该操作数可以是数据结构或字面量,如对象、方法和变量。


89) 数组 "map()" 方法用于什么目的?

  1. 它用于将另一个数组的元素映射到自身。
  2. 它传递数组的每个数据项并返回必要的映射元素。
  3. 它将数组的数据项传递到另一个数组中。
  4. 它将调用它的数组的每个元素传递给您指定的函数,并返回一个包含该函数返回值的数组。

答案: D

解释: "map()" 方法是 JavaScript 的内置方法之一,用于映射数组的数据项,以后可用于其他目的。它将调用它的数组的每个元素传递给我们指定的函数,并返回一个包含该函数返回值的数组。


90) "reducedRight()" 和 "reduce()" 方法都遵循以下哪个共同操作?

  1. 注入和折叠
  2. 过滤和折叠
  3. 指尖和折叠
  4. 折叠

答案: A

解释: 在 JavaScript 中,reduce() 方法将数组的大小减小为单个值。此方法以从左到右的方式对数组的每个数据项或元素执行提供的特定方法。它将函数返回的值存储在累加器中。但是,它不会对数组中没有值的元素执行提供的函数。

reduceRight() 方法执行相同的工作,将数组减小为单个值,并对数组的每个元素调用或执行某个函数,但以从右到左的方式进行。它还将函数返回的值存储在累加器中,例如总计或结果。

因此,我们可以看到 reduce() 和 reduceRight() 方法几乎都执行相同的工作,即注入和折叠。


91) 以下哪个给定任务由数组的 "pop()" 方法执行?

  1. 它更新数组的元素
  2. 它将数组的总长度增加 1
  3. 它打印第一个元素,对数组的长度没有影响
  4. 每次调用 "pop()" 函数时,更新元素会删除数组的一个元素

答案: D

解释: "pop()" 方法用于删除数组的最后一个元素,或者我们可以说,它从数组的尾部删除/删除元素。因此,每次调用 "pop()" 方法时,数组长度的值都会减少 1。


92) 如果我们同时使用 "join()" 方法和 "reverse()" 方法会发生什么?

  1. 它将反转并连接数组的元素
  2. 它将反转元素并将元素存储在同一数组中
  3. 它将只反转数组的元素
  4. 它将以正常顺序存储指定数组的元素

答案: B

解释: "array.join()" 方法是 JavaScript 的预定义方法之一。它用于连接数组的数据项并将它们转换为字符串。与它一起使用的 "Reverse()" 方法反转指定的数组,并在反转后将其存储在内存中。


93) 以下给定 JavaScript 代码的输出是什么?

  1. true true
  2. false true
  3. true false
  4. false true

答案:C

解释: 正如我们在给定代码中看到的那样,"x1" 数组已定义但带有空值,我们可以通过这些空值轻松访问其索引 0、1、2。我们可以访问数组的最大索引,其中定义了任何值甚至空值。在 "x2" 数组中,我们无法访问索引 0,因为 "x2" 数组已声明,但尚未定义。


94) 如果我们执行以下代码片段会发生什么?

  1. 输出将是 4 3 1
  2. 输出将是 4 3 undefined 1
  3. 它将导致错误
  4. 它根本不会运行

答案: B

解释: 在 JavaScript 中,如果用户定义一个数组并且不定义任何元素的值,则不会出现错误。但是,如果用户尝试打印其值未定义的数组元素,则它将打印“undefined”作为该元素的值。


95) 如果我们执行以下 JavaScript 代码,可能会得到什么输出?

  1. 0124
  2. 01234
  3. 它将抛出错误
  4. 无输出

答案: A

解释: 在上述给定代码中,提到了 "continue" 关键字,它通常用于循环中,用于跳过循环的特定迭代并跳转到循环的下一个迭代,而无需退出循环体。如您所见,在上述代码中,当变量 "i" 的值等于 3 时,执行 "continue" 关键字,控制跳过当前迭代并跳转到下一个迭代。


96) 以下 JavaScript 代码的输出是什么?

  1. 1, 2, 3
  2. Error
  3. 它将连接两个字符串并打印为 1、2、3、4、5、6、7、8、9、10
  4. 它将什么都不打印

答案:C

解释: 在 JavaScript 中,"concat()" 是一个预定义方法,用于连接两个数组的值。两个数组都可以包含字符串或整数。

示例

<script>
var val1=[1,2,3];  
var val2=["G,O"];  
var result=val1.concat(val2);  it will join values of both the array and store in the "result" variable
document.writeln(result);
</script>

输出

JavaScript MCQ

七、这组问题主要关注 JavaScript 中的函数和函数式编程

97) 函数体中 "return ()" 语句的主要作用是什么?

  1. 它返回值并继续执行其余语句
  2. 它返回值并停止程序执行
  3. 停止执行函数并返回值
  4. 它返回值并停止执行函数

答案: D

解释: 通常,如果函数是返回类型,则 "return" 语句是函数体中的最后一个语句。每当在函数的定义中遇到 return 语句时,函数的执行将停止,并将其存储的值返回到进行函数调用的语句。


98) 如果一个函数不返回值,则称为 _____

  1. 静态函数
  2. 过程
  3. 方法
  4. 动态函数

答案: B

解释: 不返回任何值的函数称为 void 函数,有时也称为过程。


99) 当程序控制在函数体中遇到 _________ 语句时,函数的执行停止。

  1. return 语句
  2. continue 语句
  3. break 语句
  4. goto 语句

答案: A

解释: 每当程序控制在函数定义中遇到 "return" 语句时,它就会停止该函数的执行。诸如 "break" 和 "continue" 之类的语句通常用于循环定义中,以跳出循环(或跳过循环定义中的其余语句)


100) 在哪些事件/场景中,JavaScript 中的函数名变得可选?

  1. 当函数被定义为循环语句时
  2. 当函数被调用时
  3. 当函数被定义为表达式时
  4. 当函数是预定义函数时

答案:C

解释: 当函数被定义为“表达式”时,函数名变为可选。例如

程序

var s = function (a, b) {return a * b};

函数存储在变量中后,我们可以将该变量用作函数

var s = function (a, b) {return a * b};
var t = s(4, 3);

101) 在 JavaScript 中,函数的定义以____开头

  1. 带有返回类型、函数关键字、标识符和括号
  2. 带有标识符和括号
  3. 带有返回类型和标识符
  4. 带有标识符和返回类型

答案: A

解释: 任何函数的定义总是以“关键字” function 开头,后跟一个标识符(也是函数名),以及一对包含标识符列表的括号。如果标识符列表中包含多个标识符,则它们用逗号分隔。


102) 如果 return 语句没有相关表达式会发生什么?

  1. 它将返回一个undefined
  2. 它将抛出异常
  3. 它将返回 0 作为值
  4. 它将抛出错误

答案: A

解释: 假设一个在其定义中没有 return 语句的函数返回一个默认值。尽管在定义中提到了 return 语句,但没有与表达式相关联,那么它将返回一个称为“undefined”的值。


103) 以下哪个选项是给定 JavaScript 代码的正确输出?

  1. 打印 o 的每个属性的内容
  2. 打印元素的地址
  3. 仅打印一个属性
  4. 返回 undefined

答案: D

解释: 上述 JavaScript 代码的输出将是 undefined。


104) 以下哪个代码等效于调用类 "a" 的函数 "x",该函数有两个参数 g 和 h?

  1. a,x(g,h);
  2. x(g) &&a.x(g);
  3. x(a,g);
  4. (g,h);

答案: A

解释: 如果函数有多个参数,则用逗号分隔。上面的代码是一个被调用的表达式:其中函数 a.x 和两个参数 "g" 和 "h" 用逗号分隔。


105) 以下哪个代码等效于以下给定代码?

  1. x (g) &&a.x (h);
  2. a [ "x" ] ( g , h );
  3. a (x )[ "g" , "h" ];
  4. x( g&&h );

答案: B

解释: 我们可以使用替代代码来执行访问对象属性的相同任务 <a.x(g,h) 等于 a["x"](g,h).a["x"] >,括号将访问其中提到的函数 "x"。


106) 以下哪个选项是给定 JavaScript 代码的正确输出?

  1. 2
  2. 3
  3. 0
  4. Error

答案: A

解释: 在 JavaScript 中,document.write() 是一个预定义方法,用于将输出打印到控制台。这里,在 document.write() 方法中传递了另一个函数作为参数,该函数返回变量 a 和 b 的乘积。


107) 以下哪个选项是给定 JavaScript 代码的正确输出?

  1. 7
  2. 11
  3. 3
  4. 9

答案: B

解释: 上述代码中使用的 "apply()" 是一个预定义方法,其中一个数组作为参数传递,另一个参数传递为 NULL。这里此方法在整个数组中搜索最大的整数。


108) 以下哪个选项是给定 JavaScript 代码的正确输出?

  1. James
  2. 编译错误
  3. 运行时错误
  4. undefined

答案: A

解释: 上述代码中提到的 "bind()" 函数用于创建一个新函数,该函数默认包含自己的关键字集。


109) 以下哪个选项是给定 JavaScript 代码的正确输出?

  1. James Deo
  2. 编译错误
  3. 运行时错误
  4. undefined

答案: A

解释: 上述代码片段中提到的 "call()" 方法用于调用函数,其中 "this" 作为参数传递。它返回调用函数给出的输出。


110) 以下哪个选项是给定 JavaScript 代码的正确输出?

  1. 8
  2. 3
  3. 6
  4. Error

答案: A

解释: 上述代码中使用的 "pow()" 方法是 JavaScript 数学库中可用的内置方法之一。此方法接受两个参数,其中第一个参数的幂相对于另一个参数计算。


111) 以下哪个关键字用于在 JavaScript 中定义函数?

  1. Void
  2. init
  3. main
  4. 功能

答案: D

解释: 在 JavaScript 中,函数使用 "function" 关键字定义,后跟函数名,以及一对括号 ()。函数名可以包含美元符号、下划线、字母甚至数字。


112) 在 JavaScript 中,函数总是返回值吗?

  1. 是的,函数总是返回值
  2. 不,不一定
  3. 许多函数默认返回值
  4. 有些函数不返回任何值

答案:C

解释: 在 JavaScript 中,许多包含 return 语句的函数通常会返回值。在其定义中没有 return 语句的函数不返回任何值,但其中少数即使不包含 return 语句也会默认返回值。


113) 以下哪个代码是正确的,用于连接传递给函数的字符串?

A. 代码 1

B. 代码 2

C. 代码 3

D. 代码 4


答案: B

解释: "concat()" 方法是 JavaScript 的预定义方法,用于连接两个或多个数组。使用此方法的显著优点是,它返回一个新创建的数组,而不是修改现有数组。"apply" 方法也是预定义方法,就像 "concat()" 一样,它接受参数数组并将该数组的每个元素视为一个单独的参数。


114) 给定代码中的最后一条语句将返回以下哪个值?

  1. 10
  2. 12
  3. 8
  4. 9

答案:C

解释: 以下问题中给出的代码创建了至少 10 个闭包,并将它们存储为数组。闭包都在相同的函数调用中指定,因此它们共享对变量 i 的访问。当 "constfun()" 方法返回 10 作为变量 i 的值时,所有闭包都共享此值。因此,给定函数数组中的所有函数都返回完全相同的值。


115) 以下 JavaScript 代码的正确输出是什么?

  1. 1.01
  2. 1.10
  3. 1.05
  4. 1.11

答案: B

解释: 给定代码中使用的 "atan2()" 方法返回其参数商的反正切值,即 -PI 和 PI 弧度之间的数值。返回的数字表示正 X 轴和点 (x,y) 之间的逆时针角度(而不是度数),以弧度为单位。


116) 以下 JavaScript 代码的正确输出是什么?

  1. 0.80
  2. 0.78
  3. 0.50
  4. 0.88

答案: D

解释: 给定代码中使用的 "asinh()" 方法是 JavaScript 数学库中可用的预定义方法,它返回一个数字的反双曲正弦。


117) 如果我们执行以下 JavaScript 代码会发生什么?

  1. 内存泄漏
  2. Error
  3. 将抛出异常
  4. 是的,完全可以

答案: D

解释: 对于定义为表达式的函数,函数名是可选的。函数表达式有时会立即定义和实现。


118) 如果我们运行以下 JavaScript 代码片段,会得到什么输出?

  1. Exception
  2. 123abc
  3. 123
  4. NaN

答案:C

解释: "parseInt()" 是 JavaScript 的预定义方法,它解析字符串并返回一个整数。如果字符串开头不包含整数,它还会将第一个数字返回为 0。


119) 以下哪个选项可以被视为与以下代码等效的代码?

  1. var o= new Object;
  2. var o;
  3. var o = Object();
  4. Object o=new Object();

答案:C

解释: 在 JavaScript 中,作为 "new" 运算符的唯一特例,JavaScript 通过允许在没有传递参数时删除括号来简化语法。因此,用户可以在所有构造函数调用中忽略空括号对,其中没有参数。


120) 如果以下代码行不同,区别是什么?

代码 A

代码 B

  1. 第一行产生一个真正的布尔值,而第二行仅仅检查对象是否存在
  2. 代码 A 和 B 两行都将产生布尔值 "False"
  3. 代码 A 和 B 两行都将仅检查对象是否存在
  4. 代码 A 和 B 两行都将产生布尔值 "True"

答案: A

解释: 代码 A 将以“真实”布尔值的形式返回输出,因为我们首先执行括号内写入的内容,但随后立即再次否定它。因此,它表示不真实的事物,使其变为真实。

代码 B 查找 obj1 和 obj2 的存在。此外,它可能不一定会返回“真实”布尔值。这意味着它不是返回 true 或 false,它可能存在问题,因为 false 值可以是空字符串或 0。


121) 在以下代码中,变量 "a" 应包含什么值?

  1. Null
  2. 0
  3. 2
  4. 未定义

答案:C

解释: 上述代码中使用的 "counter()" 方法每次调用时都会使变量的值递增 1,而 "reset()" 函数将该变量的值重置为零。因此,如果我们仔细观察,我们可以看到在变量 "y" 上 "counter()" 方法被调用了两次,而 "reset()" 方法一次都没有被调用,所以变量 y 的值将是 2。


122) 以下哪个选项可以被视为以下代码的正确输出?

  1. 12
  2. 13
  3. 15
  4. Error

答案:C

解释: "addition()" 函数在第一行代码中使用 "new" 属性定义。在第二行代码中,addition 函数与两个传递的参数 10, 5 一起在 "document.write()" 方法内部调用,该方法打印 "addition()" 方法返回的两个传递参数的总和。


八、这组问题主要关注 JavaScript 中的闭包

123) 以下哪个不是闭包的例子?

  1. 图形
  2. 变量
  3. 函数
  4. 对象

答案: A

解释: 每次在 JavaScript 中创建函数时都会创建一个闭包。通常,我们可以说所有闭包都是函数或反之,并且函数都有一个与之关联的作用域链。


124) 以下代码中的函数将返回什么输出?

  1. 它将返回作用域中的值
  2. 它将返回值 null
  3. 它将返回一个异常
  4. 它将显示错误消息

答案: A

解释: 每个代码块、函数或脚本作为一个整体,总有一个与其关联的对象,称为词法环境。因此,上述问题中给出的 JavaScript 代码将返回作用域中的值。


125) 词法作用域的主要规则是什么?

  1. 函数总是在作用域中声明
  2. 变量在函数内部声明
  3. 函数总是在作用域之外声明
  4. 函数使用作用域链执行

答案: D

解释: 词法作用域的基本规则是:在 JavaScript 中,函数使用它们定义时生效的作用域链执行。


126) 为了实现词法作用域需要什么?

  1. 引用当前作用域链
  2. 解除引用当前作用域链
  3. 获取对象
  4. 返回值

答案: A

解释: 不仅需要将该函数的代码包含在函数对象的内部状态中,还需要提供对当前作用域链的引用。


127) 以下哪个会大量利用 CPU 周期?

  1. GUI (图形用户界面)
  2. 静态生成的图形
  3. 通用作用域
  4. 动态生成的图形

答案: D

解释: “动态生成图形”一词是指使用计算机模拟运动、动作或生成特定环境。它也可以被认为是与时间相关的多个图表。因此,从实时数据动态生成的图形会占用大量的CPU周期。


128) 在 JavaScript 中,使用了哪种作用域?

  1. 字面作用域
  2. 顺序作用域
  3. 分段作用域
  4. 词法作用域

答案: D

解释: 在 JavaScript 中,像许多其他现代语言一样,使用词法作用域。这意味着函数是使用定义时生效的作用域链执行的,而不是调用时生效的变量作用域。


129) 什么是闭包?

  1. 函数对象和解析函数变量的作用域
  2. 解析函数变量的作用域
  3. 函数对象
  4. 函数返回值

答案:C

解释: 闭包可以指函数对象和解析该函数变量的作用域(一组变量绑定)的集合。


130) 以下哪项可以被认为是词法作用域的相反方法?

  1. 动态作用域
  2. 字面作用域
  3. 静态作用域
  4. 通用作用域

答案: A

解释: 动态作用域可以被认为是词法作用域的相反方法。在动态作用域中,代码如何编写并不重要,重要的是代码如何执行。在每个新函数执行时,与之相关的新作用域会被推入堆栈,并且此作用域通常与函数调用堆栈一起存储。此时,当函数定义中引用变量时,会立即检查每个调用堆栈中的作用域,以了解它是否返回值。


131) 以下哪种算法语言没有词法作用域的标准化?

  1. Html
  2. Ada
  3. Pascal
  4. Modula2

答案: A

解释: 除 HTML 外,词法作用域已在所有以下给定的算法语言中标准化。


132) 以下 JavaScript 代码的输出是什么?

  1. False
  2. 1
  3. 0
  4. true

答案: D

解释: “构造函数”是任何类的函数属性,通常用于该类的对象。在上面给出的代码中,语句 1 和 2 都在创建类的实例。


133) 以下选项中哪一个是以下 JavaScript 代码的正确输出?

  1. 未定义
  2. 18,1
  3. 7,1
  4. Error

答案:C

解释: 上述代码中提到的 "object.assign()" 方法用于将一个对象的值和属性复制到另一个对象。这里对象是按引用分配和复制的。


134) 以下哪个 POSIX 信号会生成事件?

  1. SIGINT
  2. SIGDOWN
  3. SIGFLOAT
  4. SIGSHORT

答案: A: "SIGINT" 是正确答案。


135) 哪个 HTML 元素用于放置 JavaScript 代码?

  1. <javascript>
  2. <js>
  3. <scripting>
  4. <script>

答案: D: "<script>" 是正确答案。


136) 在 JavaScript 的情况下,以下哪个语句不正确?

  1. JavaScript 是一种轻量级的解释型语言。
  2. JavaScript 是一种高级编程语言。
  3. JavaScript 是一种区分大小写的语言。
  4. JavaScript 为用户提供对 Web 浏览器合理的控制。

答案: B: JavaScript 是一种高级编程语言。


137) 为什么 JavaScript 被称为结构化编程语言?

  1. 因为所有流行的 Web 浏览器都支持 JavaScript,因为它们提供了内置的执行环境
  2. 因为它是一种面向对象编程语言,使用原型而不是类进行继承
  3. 因为它遵循 C 编程语言的语法和结构,而 C 编程语言是一种结构化编程语言
  4. 因为它忽略 JavaScript 程序中出现的空格、制表符和换行符

答案: C: "因为它遵循 C 编程语言的语法和结构,而 C 编程语言是一种结构化编程语言" 是正确答案。


138) 以下哪个是使用 JavaScript 打印页面的正确语法?

  1. print();
  2. print();
  3. print();
  4. print();

答案: B: "window.print();" 是正确答案。


139) 以下哪个不是 JavaScript 数据类型?

  1. Boolean
  2. 未定义
  3. 数字
  4. Float

答案: D: "Float" 是正确答案。JavaScript 只支持以下数据类型:
Number, String, Boolean, Object, and Undefined


140) 以下哪个是使用 JavaScript 访问 HTML 代码中元素的正确语法?

  1. getElement ("availablecourse").innerHTML = "See the list of availablecourse";
  2. getElementById ("availablecourse").innerHTML = "See the list of availablecourse";
  3. getId ("availablecourse") = "See the list of availablecourse";
  4. getElementById ("availablecourse").innerHTML = See the list of availablecourse;

答案: document.getElementById ("availablecourse").innerHTML = "See the list of availablecourse"; 是正确答案。要访问在该 ID 下编写的内容,我们必须使用 .innerHTML 来指定它,并最终用引号中编写的任何内容替换内容。


141) Array 对象的以下哪个函数用于向数组前面添加一个或多个元素并返回数组的新长度?

  1. splice()
  2. unshift()
  3. sort()
  4. toString()

答案: B: "unshift()" 是正确答案。它用于向数组前面添加一个或多个元素并返回数组的新长度。


142) 以下哪个语法正确引用名为 "LFC.js" 的外部脚本?

  1. <script source="LFC.js">
  2. <script ref="LFC.js">
  3. <script src="LFC.js">
  4. <script type="LFC.js">

答案: C: <script src="LFC.js"> 是正确答案。"src" 用于引用任何 JavaScript 文件。


143) 以下哪个语法可用于在警告框中写入 "Hello World"?

  1. alertBox("Hello World");
  2. msgBox("Hello World");
  3. alert("Hello World");
  4. msg("Hello World");

答案: C: "alert("Hello World");" 是正确答案。


144) 以下哪个不是 JavaScript 框架或库?

  1. Polymer
  2. 流星
  3. jQuery
  4. Cassandra

答案: D: "Cassandra" 是正确答案。它不是 JavaScript 框架或库。它是 Apache 的分布式数据库。


145) 为什么 JavaScript 和 Java 的名称相似?

  1. JavaScript 是 Java 的精简版。
  2. JavaScript 的语法大致基于 Java 的语法。
  3. JavaScript 和 Java 都起源于 Java 岛。
  4. 以上都不是

答案: B: "JavaScript 的语法大致基于 Java 的语法" 是正确答案。


146) 以下哪个是 WHILE 循环开始的正确语句?

  1. while (i <= 10)
  2. while (i <= 10; i++)
  3. while i = 1 to 10
  4. 都不是

答案: A: "while (i <= 10)" 是正确答案。


147) JavaScript 被发现时的原始名称是什么?

  1. LiveScript
  2. EScript
  3. JScript
  4. Mocha

答案: D: "Mocha" 是正确答案。JavaScript 被发现时最初名为 Mocha,后来改名为 LiveScript,最终在 Netscape 和 Sun 签订许可协议后改名为 JavaScript。它之所以命名为 JavaScript,是因为当时它被设计为 Java 的补充脚本语言。


148) 以下哪种是 JavaScript 代码中写入注释的正确方式?

  1. //这是一个注释
  2. /*这是一个注释*/
  3. $这是一个注释$
  4. **这是一个注释**

答案: A: //这是一个注释 是正确选项。


149) 以下 Javascript 代码的输出是什么?

  1. Fee 10000
  2. 10000
  3. Fee10000
  4. Exception

答案: C: Fee10000 是正确答案。连接后,两个字符串都显示为连接字符串。


150) 以下哪个 JavaScript 运算符用于根据某些条件为变量赋值?

  1. 赋值运算符
  2. 位运算符
  3. 条件运算符
  4. 逻辑运算符

答案: C: 条件运算符 是正确答案。


151) JavaScript 程序中使用以下哪个变量?

  1. 随机变化
  2. 引起高中代数回忆
  3. 存储数字、日期或其他值
  4. 以上都不是

答案: C: "存储数字、日期或其他值" 是正确答案。


152) 在 JavaScript 中,“for 循环”对循环变量进行哪三种关键操作?

  1. 初始化、递增和更新
  2. 初始化、测试和更新
  3. 初始化、测试和递增
  4. 以上全部。

答案: B: "初始化、测试和更新" 是正确答案。在“for 循环”中,这三个是非常关键的操作。


153) 以下哪个是使用 JavaScript 创建 cookie 的正确语法?

  1. cookie = 'key1 = value1; key2 = value2; expires = date';
  2. cookie = 'key1 = value1; key2 = value2; expires = date';
  3. cookie = 'key1 = value1; key2 = value2; expires = date';
  4. cookie = 'key1 = value1; key2 = value2; expires = date';

答案: A: document.cookie = 'key1 = value1; key2 = value2; expires = date'; 是正确答案。


154) JavaScript 中 == 和 != 的不同替代方案是什么?

  1. 它使用位检查
  2. 它使用 === 和 !== 代替
  3. 它使用 equals() 和 notequals() 代替
  4. 它使用 equalto()

答案: B: 它使用 === 和 !== 代替 是正确答案。在 JavaScript 中,== 和 != 运算符不使用,因为它们会执行类型转换。


155) JavaScript 中有哪些不同类型的弹出框?

  1. 警报
  2. Prompt
  3. Confirm
  4. 以上全部。

答案: D: "以上所有" 是正确答案。


156) 以下哪个是服务器端 JavaScript 对象?

  1. 日期
  2. FileUpload
  3. 文件
  4. 函数

答案: C: File 是正确答案。


157) JavaScript 中有哪些不同类型的错误?

  1. 加载时错误
  2. 运行时错误
  3. 逻辑错误
  4. 以上全部。

答案: B: 运行时错误


158) 以下哪个内置方法用于从数组中删除最后一个元素并返回该元素?

  1. last()
  2. pop()
  3. get()
  4. 以上都不是。

答案: B: pop() 方法是正确答案。它用于从数组中删除最后一个元素并返回该元素。


下一个主题JavaScript 面试题