const shape = { radius: 10, diameter() { return this.radius * 2; }, perimeter: () => 2 * Math.PI * this.radius};shape.diameter();shape.perimeter();
-
A:
20
and62.83185307179586
-
B:
20
andNaN
-
C:
20
and63
-
D:
NaN
and63
答案: B
请注意,diameter
是普通函数,而perimeter
是箭头函数。
对于箭头函数,this
关键字指向是它所在上下文(定义时的位置)的环境,与普通函数不同! 这意味着当我们调用perimeter
时,它不是指向shape
对象,而是指其定义时的环境(window)。没有值radius
属性,返回undefined
。
练习
1 2 3 4 5 6 7 89 10 11 12 223313
- 14
- 15 知识点一:16 Math.PI 表示一个圆的周长与直径的比例,约为3.1415917 Math.PI = π≈3.1415918 19
- 20 知识点二:21 js里面的换行 \n22 23
- 24 知识点三:25 \n换行在document.write中不起作用26 27
- 28 知识点四:29 js里innerText用法是 = 赋值,而不是innerText()30 31
- 32 知识点五:33 document.getElementById与document.write输出顺序的不同34 35