JS题库6-10

1.什么是Web Worker?

    A.运行在后台的JavaScript程序,会影响页面性能。

    B.运行在后台的JavaScript程序,不会影响页面性能。

    C.都不正确

    D.运行在后台的css程序,不会影响页面性能

正确答案:B

            解析:web worker在后台运行的进程,比如一个计算,它会在后台进行计算,再给页面赋值,所以不影响页面性能。

2.语句var arr=[a,b,c,d]执行后,数组arr中每项都是一个整数,下面得到其中最大整数语句正确的是哪几项?

    A.Math.max(arr)

       B.Math.max(arr[0],arr[1],arr[2],arr[3])

       C.Math.max.call(Math,arr[0],arr[1],arr[2],arr[3])

       D.Math.max.apply(Math,arr)

正确答案:B.C.D

            解析:因为函数Math.max(x)的参数是Number类型,可以是小数,整数,正数,负数或者0,如果不是以上类型就会返回NAN,Function.call()可以传入任意多个参数,Function.apply()第二个参数以数组形式传递。

3.假设val已经声明,可定义为任何值。则下面js代码有可能的输出结果为:

console.log('Value is ' + (val != '0') ? 'define' : 'undefine');

    A.Value is define

B.Value is undefine

  C.define

 D.undefine

  E.Value is define 或者 Value is undefine

  F.define 或者 undefine

  G.其它选项都有可能

正确答案:C

     解析:+号优先级高于三目运算符低于括号,所以代码执行顺序是('Value is ' + (val != '0')) ? 'define' : 'undefine',而?前面的表达式运算结果无论是字符串'Value is true',还是字符串'Value is false'。转换为布尔值都是true,所以打印出来的结果是字符串‘define’。

4.js数组的方法中,哪些方法不能改变自身数组?

    A.pop

    B.splice

    C.sort

     D.concat

正确答案:D

        解析:pop()方法用于删除数组的最后一个元素,并返回被删除的最后一个元素,这样的话数组就被改变了。

splice()方法可以对数组中已经存在元素进行删除,也可以添加元素到数组中。
sort()方法对数组中所有的元素都进行排序,如果没有提供比较函数compareFunction,则按照字符串的Unicode码的顺序进行排序。
所以以上三种方法都改变了数组。
而  concat()方法用于连接两个或多个数组。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本,返回一个新的数组。该数组是通过把所有的arrayX参数添加到arryaObject中生成的,如果要进行 concat()操作的参数是数组,那么添加的是数组中的元素,而不是数组。
5.
(function() {

var x=foo();

var foo=function foo() {
return “foobar”
};
return x;
})();

    A.foo()

    B.类型错误

    C.undefined

    D.foobar

正确答案:B

         解析:foo变量“被提前”了,但是他的赋值(也就是函数)并没有被提前,从这一点上来说,和前面我们所讲的变量“被提前”是完全一致的,并且,由于“被提前”的变量的默认值是 undefined。函数声明可以被提前,但函数表达式不能被提前。

所以以上程序:

var x = foo();
var foo=function foo() {...}

以上语句的变量声明会提升但是定义不会提升:

var foo;
var x = foo();
foo = function foo() {...}
当执行到x=foo()时,所以会返回:TypeError:foo is not a function









  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值