A. null B. [null] C. [{}] D. [{ name:"Lydia" }] 解析: 注:members被赋值的是person的指针; 正确答案:D A. f foo(){ foo =10; (foo)} B. 1 C. 10 D. undefined 解析: 具名的匿名函数,函数名默认指向其本身,且具有只读属性,函数会被当作函数表达式而不是一个标准的函数声明来处理,函数表达式意味着函数被直接绑定在作用域中,意味着foo只能在被自己代表的位置被调用,不会污染全局作用域。 正确答案:A 解析: 正确答案: 30 24 解析: 正确答案:undefined 10 20 A. { name: "Lydia",age: 21} , ["name","age"] B. { name: "Lydia",age: 21} , ["name"] C. { name: "Lydia"} , ["name","age"] D. { name: "Lydia"} , ["age"] 解析: 注: 是ES5提供的一种给对象定义属性的方式,定义的属性默认不可以枚举、遍历,不可以删除;可以使用set、get,定义属性时触发get,修改属性值时触发set,利用其可以实现数据双向绑定。 返回的是数组,又因 定义的属性默认不可以枚举、遍历,所以只能返回对象的第一个关键字;如果想要实现遍历,可以利用 enumerable:true 实现遍历,如果想要修改或删除,可以利用 configurable:true 实现。 正确答案:B A. "{"level":19,"health":90}" B. "{"username": "xiao ming"}" C. "["level","health"]" D. "{"username":"xiao ming","level":19,"health":90}" 解析: (value,replacer) 方法将一个 JavaScript 对象或值转换为 JSON 字符串,如果指定了一个 replacer 函数,则可以选择性地替换值,或者指定的 replacer 是数组,则可选择性地仅包含数组指定的属性。 正确答案:A A. 20 , 40 , 80 , 160 B. 20 , 40 , 20 , 40 C. 20 , 20 , 20 , 40 D. NaN , NaN , 20 , 40 解析: 正确答案:C A. Calculated! 20 Calculated! 20 Calculated! 20 B. Calculated! 20 From cache! 20 Calculated! 20 C. Calculated! 20 From cache! 20 Form cache! 20 D. Calculated! 20 From cache! 20 Error 解析: 注:闭包函数定义: 当一个函数的返回值是另外一个函数,而返回的那个函数如果调用了其父函数内部的其它变量,如果返回的这个函数在外部被执行,就产生了闭包。 表现形式:使函数外部能够调用函数内部定义的变量。 正确答案:C A. ['apple','banana'] B. 2 C. true D. undefined 解析: 注:push()方法的返回值:把指定的值添加到数组后的新长度 正确答案:B A. "I made it!" B. Promise {: "I made it!"} C. Promise {} D. undefined 解析: 注:promise ES6语法中的异步操作的API,每一个promise包含三种状态 pending(挂起)、 resolve(成功)、 reject(失败), 而在每一个promise对象包含then 和 catch两个方法,then方法接收一个函数,用于处理resolve成功方法,而catch方法接收一个函数,用于处理reject失败的方法。 正确答案:C