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)