. 如下代码片段的运行结果是 var obj =(a:1,b:function 0 falert(this.a)f); var tun =obj.b; fund; 单选题2.0分 弹出a B 弹出1 弹出undefined D) 什么也看不到
时间: 2024-03-13 20:47:46 浏览: 16
代码片段会弹出 `undefined`。
首先,这段代码片段中的对象定义有语法错误,应该使用花括号 `{}` 包裹对象的属性值,例如:
```javascript
var obj = { a: 1, b: function() { alert(this.a); } };
```
接下来,在执行 `var fun = obj.b;` 时,将对象 `obj` 中的方法 `b` 赋值给了变量 `fun`。在这个过程中,方法 `b` 与对象 `obj` 的绑定关系丢失了。
最后,执行 `fun()` 时,方法 `b` 中的 `this` 指向全局对象 `window`,因此弹出的是 `this.a`,即 `window.a`,而全局对象中并没有定义属性 `a`,因此返回 `undefined`。
相关问题
.JavaScript 以下哪条语句会产生运行错误 A. var obj = 0; B. var obj =[];C. var obj = 0;D. var obj = //:
以下语句会产生运行错误:
D. var obj = //:
这是因为在该语句中,注释符号 "//" 后面没有注释内容,导致语句不完整,无法正确解析。在JavaScript中,注释应该以有效的注释内容或注释结束符 "*/" 结束。
正确的注释示例:
```javascript
var obj = 0; // 变量初始化为数字0
```
所以,答案是D。
.JavaScript 以下哪条语句会产生运行错误 A. var obj = 0; B. var obj =[];C. var obj ={};D. var obj = //:
以下语句会产生运行错误:
D. var obj = //:
这是因为在该语句中,注释符号 "//" 后面没有注释内容,导致语句不完整,无法正确解析。在JavaScript中,注释应该以有效的注释内容或注释结束符 "*/" 结束。
正确的注释示例:
```javascript
var obj = 0; // 变量初始化为数字0
```
所以,答案是D。