分享

29道关于JavaScript的基础面试题

 heii2 2018-09-19


1.有关函数说法正确的有( )。

 A.直接调用Math.max时它并不接受数组。

 B.对于一些系统内置对象,使用toString调用不会得到你想要的源码。

 C.length属性返回函数中的形参个数。

 D.arguments属性用于描述传递给一个函数的参数数组,是一个类数组对象。

2.下面正确的结论是( )。

 A.'111'<>

 B.1>=-Infinity结果为true

 C.已知'100'+200,200转换为'200',结果是'100200'

 D.'100'+'200'结果是'100200'

3.关于JS函数的说法错误的有( )。

 A.arguments是函数参数相关的一个专用数组。

 B.已经定义的函数可以使用重新定义。

 C.已经定义的函数可以使用delete删除。

 D.如果函数无明确的返回值,或调用了没有参数的return语句,那么它真正返回的值是undefined。

4.有关对象操作语句说法正确的是( )。

 A.一个对象创建表达式不需要传入任何参数给构造函数的时候构造函数后面的括号也不可省略。

 B.with语句可以用来临时扩展作用域链。

 C.与没有使用with语句的代码相比,with语句运行效率低下。

 D.在严格模式下,禁止使用with语句。

5.有关this运算符正确的结论有( )。

 A.所有this到对象的绑定将发生在调用的时候,我们称为“延迟绑定”。

 B.apply和call能够强制改变函数执行时的当前对象,让this指向其他对象。

 C.由于JS的动态性,this的指向在运行时才确定。

 D.this运算符总是指向当前的对象

6.有关JS异常处理正确的结论有( )。

A.try从句要求需要catch和finally至少二者之一与之共同完成异常处理任务。三个语句块都必须使用花括号括起来,不能省略花括号。

 B.throw语句不允许创建自定义错误。

 C.JavaScript异常处理机制主要是通过try/catch/finally三子句联合实现的。

D. 在JavaScript脚本中,异常的影响范围为该代码所在的线程,而其他不依赖于出现异常处的代码的线程仍然可以正常运行。

7.有关跳转语句的说法正确的有( )。

 A.任何语句可以有很多个标签。

 B.跳转语句中,只有break和continue可以和标签一起使用。

 C.标签的命名空间和变量或者函数的命名空间是不同的。

 D.标签声明可以放在任何一个语句(或者语句块)前面。

8.下面有关循环语句正确的结论是( )。

 A.for/in循环可以像枚举对象属性一样枚举数组索引。

 B.for...in语句是与for循环语句完全不同的一类循环,它循环的范围是一个对象所有的属性或是一个数组的所有元素。

 C.for循环的循环变量未必是数字。

 D.for语句中的所有三部分(初始化部分、测试部分和更新部分)都是可选的。

9.下面有关循环语句正确的结论是( )。

 A.do-while循环是后测试循环,在计算表达式之前,至少会执行循环体一次。

 B.ECMAScript规范并没有指定for/in循环按照何种顺序来枚举对象属性。

 C.for/in循环用于遍历对象的所有属性。

 D.for循环语句的初始化部分仅在循环开始之前执行一次。

10.下面有关条件及分支语句正确的结论是( )。

A.case关键字后最常见跟随的是数字和字符串直接量;但是,ECMAScript标准的确允许每个case关键字跟随任意的表达式。

 B.当所有分支条件都依赖于同一个表达式的值时,if语句并不是最佳解决方案,switch正应这种情况的需求而产生。

 C.else中语句的执行遵循“就近原则”,即匹配最近的那个if语句中的条件判断。

 D.if后面的条件必须使用括号包围.

11.Node命令行下只能用于单行JS代码的运行测试。()

12.Javascript中的CommonJS模块规范和AMD规范都是针对javascript服务器端编程制订的规范。()

13.JavaScript程序使用Unicode字符集编写。()

14.JavaScript允许标识符中出现unicode字符全集中的字母和数字。()

15.JS字符串是原始类型,可以根据需要任意修改。()

16.任意JS值都可以转换为布尔值。()

17.null是JavaScript的一个关键字,而undefined是预定义的全局变量。()

18.值undefined与未定义的值是一回事。()

19.在ECMAScript3中,字符串直接量必须写在一行中,而在ECMAScript5中,字符串直接量可以拆分成数行。()

20.在ES5中,字符串可以当作只读数组,可以使用方括号来访问字符串中的单个字符。()

21.nul1和undefined没有包装对象。如果访问它们的属性,会引发一个类型错误。()

22.一个值转换为另一个值并不意味着两个值相等。()

23.JS对象的属性可以在对象创建后动态定义。()

24.ES5中并不允许块作用域,但是在异常处理部分的catch语句处除外。()

25.JavaScript运算符通常会根据需要对操作数进行类型转换。()

26.在ECMAScript中,“+”既是二元加法运算符,又是一元数字运算符,还能够把二个字符串连接起来。()

27.JS中,它限定<>

28.可以借助运算符&把某个变量不必要的位修改为0。()

29.在JS中,for/in循环主要用于遍历对象的所有属性。()

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多