js题

1.下面代码的运行,输出的结果是:

const obj = {
  name: "kobe",
  age: 40,
  height:1.88
};

console.log(Object.keys(obj));

A:[ 'name', 'age' ]
B:[ 'name', 'age', 'height' ]
C:{ name: "kobe",age: 40}
D:{ name: "kobe",age: 40, height:1.88}
答案:B

2.下面代码的运行,输出的结果是:

const obj = {
  name: "kobe",
  age: 40,
};
Object.defineProperty(obj, "height", {
  value: 1.88,
});

console.log(Object.keys(obj));

A:[ 'name', 'age' ]
B:[ 'name', 'age', 'height' ]
C:{ name: "kobe",age: 40}
D:{ name: "kobe",age: 40, height:1.88}

答案:A

3.下面代码的运行,输出的结果是:

const obj = {
  name: "kobe",
  age: 40,
};
Object.defineProperty(obj, "height", {
  value: 1.88,
  configurable: true,
  writable: true,
  enumerable: true,
});

console.log(Object.keys(obj));

A:[ 'name', 'age' ]
B:[ 'name', 'age', 'height' ]
C:{ name: "kobe",age: 40}
D:{ name: "kobe",age: 40, height:1.88}

答案:B

4.下面代码的运行,输出的结果是:

const obj = {
  name: "kobe",
  age: 40,
  get height() {
    return this._height;
  },
  set height(newVal) {
    this._height = newVal;
  },
};
Object.defineProperty(obj, "_height", {
  value: 1.88,
});

console.log(Object.keys(obj));

A:[ 'name', 'age', 'height','_height' ]
B:[ 'name', 'age', 'height' ]
C:[ 'name', 'age', '_height' ]
D:[ 'name', 'age' ]

答案:B

5.下面代码的运行,输出的结果是:

var obj = {
  name: "kobe",
  age: 40,
  get height() {
    return this._height;
  },
  set height(newVal) {
    this._height = newVal;
  },
};
Object.defineProperty(obj, "_height", {
  value: 1.88,
});

console.log(Object.getOwnPropertyNames(obj));

A:[ 'name', 'age', 'height','_height' ]
B:[ 'name', 'age', 'height' ]
C:[ 'name', 'age', '_height' ]
D:[ 'name', 'age' ]

答案:A

6.判断题:Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组 答案:对
7.判断题:Object.getOwnPropertyNames() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组 答案:错
8.Object.getOwnPropertyNames()方法返回一个由指定对象的所有自身属性的属性名(包括不可枚举属性但不包括Symbol值作为名称的属性)组成的数组。 答案:对

9.下面代码的运行,输出的结果是:

let address = Symbol()
const obj = {
  name: "kobe",
  age: 40,
  [address]: '北京'
};
console.log(Object.getOwnPropertyNames(obj));

A:[ 'name', 'age', Symbol() ]
B:[ 'name', 'age' ]
C:[ 'name', 'age', 'address' ]
D: [ Symbol() ]
答案:B

10.下面代码的运行,输出的结果是:

let address = Symbol()
const obj = {
  name: "kobe",
  age: 40,
  [address]: '北京'
};

console.log(Object.getOwnPropertySymbols(obj));

A:[ 'name', 'age', Symbol() ]
B:[ 'name', 'age' ]
C:[ 'name', 'age', 'address' ]
D: [ Symbol() ]
答案:D

11.Object.getOwnPropertySymbols() 方法返回一个给定对象自身的所有 Symbol 属性的数组。 答案:对
12.下面代码的运行,输出的结果是:

const obj = {
  [Symbol()]: "kobe",
  [Symbol()]: 40,
  [Symbol()]: "北京",
};
console.log(obj);

A:{ [Symbol()]: 'kobe', [Symbol()]: 40, [Symbol()]: '北京' }
B:{ [Symbol()]: '北京' }

答案:A

13.下面代码的运行,输出的结果是:

const a = Symbol()
const obj = {
  [a]: "kobe",
  [a]: 40,
  [a]: "北京",
};
console.log(obj);

A:{ [Symbol()]: 'kobe', [Symbol()]: 40, [Symbol()]: '北京' }
B:{ [Symbol()]: '北京' }

答案:B

14.下面代码的运行,输出的结果是:

const obj = {
  [Symbol.for('aaa')]: "kobe",
  [Symbol.for('aaa')]: 40,
  [Symbol.for('aaa')]: "北京",
};
console.log(obj);

A:{ [Symbol(aaa)]: 'kobe', [Symbol(aaa)]: 40, [Symbol(aaa)]: '北京' }
B:{ [Symbol(aaa)]: '北京' }

答案:B

15.下面代码的运行,输出的结果是:

const obj = {
  [Symbol('aaa')]: "kobe",
  [Symbol('aaa')]: 40,
  [Symbol('aaa')]: "北京",
};
console.log(obj);

A:{ [Symbol(aaa)]: 'kobe', [Symbol(aaa)]: 40, [Symbol(aaa)]: '北京' }
B:{ [Symbol(aaa)]: '北京' }

答案:A
16.symbol 是一种基本数据类型 答案:对
17.symbol 是一个类 答案:错
18.每个从Symbol()返回的symbol值都是唯一的 答案:对
19.下面执行结果

Symbol("foo") === Symbol("foo")

A:true
B:false

答案:B
20.下面执行结果

Symbol.for("foo") === Symbol.for("foo")

A:true
B:false

答案:A
21:Symbol.for(key) 方法会根据给定的键 key,来从运行时的 symbol 注册表中找到对应的 symbol,如果找到了,则返回它,否则,新建一个与该键关联的 symbol,并放入全局 symbol 注册表中。 答案:对

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容