题目1
在下列Promise所提供的方法中,用来向成功或者失败的回调函数队列中添加回调函数的是( )
A: done
B: fail
C: always
D: then
-
答案
-
解析
-
A没有,B也不存在,C为一个扩展(不管有没有成功失败都会调用),D的回调有二个参数,第一个是成功回调,第二个是失败回调 <script>
const promise1 = new Promise((resolve, reject) => {
resolve("事情解决");
});
promise1.then((value) => {
console.log("我是成功回调", value);
}, (reason) => {
console.log("我是失败回调", value);
})
</script>
-
至于C选项,是一个扩展,可以安装npm ``install es6-promise-always --save //always(data, error) data: resolve的数据。 error: reject的数据。
require("es6-promise-always")
axios.get("/").then(()=>{
//处理逻辑
}).always(()=>{
console.log("请求结束")
hideLoading();
})
axios("www.baidu.com").then(function(data) {
if(50>10) {
return data.json();
}
throw new TypeError("出错了!");
})
.then(function(data) { console.log("我要处理返回的数据") })
.catch(function(error) { console.log("失败原因",error); })
.finally(function() { console.log("不管怎么样我都要执行") });
题目2
以下符合 ES6 写法的有
A: class Foo
{
constructor() {return Object.create(null);}
}
Foo()
B: var m=1;
export m;
C: export var firstName=’Michael’;
D: 在A模块中export{readFile}后,在B模块中import readFile from ‘A’可以获取到readFile
-
答案
-
解析
-
A: Fun() 把 class 当成方法来用? var fun = new Func() 这样用就对了 -
B :暴露方式不对 1. 分别暴露 export let length="100";export function add(){console.log("干饭")}
引入: export {length,add} from "./module.js";
2. 统一暴露 export {暴露的数据键值对} 比如:var a = 10; export { a };
引入: export {length,add} from "./module.js";
3. 默认暴露 export default 暴露的数据,比如export default var a = 10;
引入:import a from "./module.js";
-
C: 正确的,分别暴露 -
D: 缺少了 { } 符号,正确应该为import {readFile} from ‘A’
? export文档 import文档
题目3
以下代码执行后,array 的结果是?
let array = [,1,,2,,3];
array = array.map((i) => ++i)
A: [,2,,3,,4]
B: [NaN,2,NaN,3,NaN,4]
C: [1,2,1,3,1,4]
D: [null,2,null,3,null,4]
- 答案
- 解析
- orEach(), filter(), reduce(), every() 和some()都会跳过空位。
- map()会跳过空位,但会保留这个值。
- join()和toString()会将空位视为undefined,而undefined和null会被处理成空字符串。
- ES6 中都会将空位当做undefined
题目4
以下哪些方法会返回一个数组?(多选)
A: Object.keys()
B: String.prototype.split()
C: Array.prototype.join()
D: Promise.all()
-
答案
-
解析
- A: Object.keys()返回对象的key值所组成的数组(key要为可枚举)
- B: String.prototype.split()分割字符串,返回分割后的数组
- C: Array.prototype.join()方法将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串。如果数组只有一个项目,那么将返回该项目而不使用分隔符。
- D: Promise.all(iterable) 方法返回一个 Promise 实例,此实例在 iterable 参数内所有的 promise 都“完成(resolved)”或参数中不包含 promise 时回调完成(resolve);
如果参数中 promise 有一个失败(rejected),此实例回调失败(reject),失败原因的是第一个失败 promise 的结果。 <script>
var obj = {
name:"李白",
age:1000,
};
Object.defineProperty(obj,"sex",{
value:"男",
enumerable:false
});
console.log(obj);
console.log(Object.keys(obj));
</script>
|