专业级JS考试

1、下面代码行为输出的是(C)A 12   B 10   C 5   D15  

class Foo {
    constructor (x=5) {
     this.x=x;
     this.getX = function(){
     return this.x * 1 ;
    }
  }
    getX () {
     return this.x * 2 ;
   }
}
let foo = new Foo(4)
foo.getX = function(){
  return this.x * 3;
}
let bar = new Foo();
console.log(bar.getX())

2、以下关于Atomics对象的方法描述错误的是(A)

A . Atomics.load():初始化加载指定数组元素值。( 初始化加载指定位置上的值)

B.  Atomics.wait():确保了一个在Int32Array数组中给定位置的值没有发生变化、仍然是给定的值时进程将会睡眠,直到被唤醒或超时。

C.  Atomics.compareExchange():静态方法会在数组的值与期望相等的时候,将给定的替换值替换掉数组上的值,然后返回旧值。

D.  Atomics.notify():唤醒正在等待Int32Array数组指定位置元素的线程。返回值为成功唤醒的线程数量。

3、CSS的display属性,下列说法正确的是(B)

A.  display:inline与width,height,margin和float一起使用后表现为块级格式化上下文

B.  display:flex可以和margin(以及所有变体)、float一起使用

C.  使用vertical-align能够垂直对齐display:block的元素

D.  display:inline-block的元素会脱离文档流,所以元素会从左向右排序

4、华为js&&ts语言编程规范为什么建议尽量避免使用装饰器?

A . 装饰器是一个实验性功能,仍然处于TC39委员会的提案阶段,且目前存在已知的无法被修复的Bug

B.  复杂度过高,不建议使用

C.  多个装饰器会有冲突

D.  装饰器会修改功能内部行为

5、以下代码执行后输出的是()

const p = new Promise((resolve, reject) => {
  reject(Error('The Fails!'));
});
p.catch(error => console.log(error.message))
  .catch(error => console.log(error.message));

A.  程序退出

B.  打印一次消息

C.  Unhandled PromiseRejection Warning

D.  打印两次消息

6、以下代码执行输出结果是:()

(function () {
  var b = (a = 3);
})();
console.log(a);
console.log(b);


const a = 2;
(function () {
  var b = (a = 3);
})();
console.log(a);  //Uncaught TypeError: Assignment to constant variable.
console.log(b); 
 

A.  3 ReferenceError

B.  ReferenceError ReferenceError

C.  3 3

D.  undefined undefined

7、关于空格的使用,如下代码符合编码规范的是()

A.  const x=y+5;

B. function fight () {

console.log('swooosh')

}

C. myFunc(bar,foo,baz)

D.dog.set('attr',{age:'1 year',message:'Berbese Mountain Dog'})

8、下列代码的异常处理说法正确的是()

try {
  new Promise(() => {
    throw new Error('promise error');
  }, 1000);
} catch (e) {
  console.log('catch error');
} finally {
  console.log('finally');
}

A. new promise 内部匿名函数执行后才会输出‘finally’

B. new promise 执行后,会抛出异常,再捕获

C. 不能捕获异常,会抛出 `Uncaught Error: promise error`

D. 可以正常捕获到异常并输出 `"catch error"`

9、以下对NodeJS项目Puppeteer的API使用。

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch(
    {
        executablePath: "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe",
        // 无界面模式
        headless: false,
        // 减慢浏览器的操作
        slowMo: 20,
        args: ['--start-maximized'],
        // 设置浏览器的分辨率
        defaultViewport: null,
        // 忽略https证书错误
        ignoreHTTPSErrors: true,
    }
  );
  const page = await browser.newPage();
  await page.goto('http://3ms.huawei.com/hi/map/index.html', { waitUntil: 'networkidle0' });
  const search = await page.waitForXPath("//div[@class='search_bar_button']");
  const search_input = await page.waitForXPath("//input[@class='search_input ac_input']")
  await search_input.type("dongpu")
  await search.click()
  await page.waitForNavigation({waitUntil: 'networkidle0'})
  await page.waitFor(2000);
  await browser.close();
})();

10、以下代码运行后的输出结果是(A)

  window.x = 0 ;
  var x = 1 ;  //let x = 1;  结果为0
class Test {
    x = 2 ;
    constructor(){
     this.x = 3 ;
    }
   run () {
     console.log(this.x);
   }
}
  Test.prototype.run = () => {
   console.log(this.x)   // 注意这里的箭头,如果是function() {xx}定义就是3了
  }
let t = new Test(); 
t.run();

A. 1   B. 0  C. 2  D. 3

11、下面各项对代码描述正确的是()

A.    new Test();
         class Test {
          constructor() {
            this.name = 'xx' ;
          }
        }

    上面的class中声明的类可以得到提升,所以实例化没有问题

B、   class Test {
        constructor () {
            console.log(2)
      }  
    }
    Test()

C、   class Test { 
   
       }    
    console.log(Test == Test.prototype.constructor)

D、 class Test { 
   
       }    
    console.log(typeof Test)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值