<script> var x =1; var obj = { x: 3, fun:function(){ var x = 5; return this.x;}}; var fun =obj.fun; console.log(obj.fun(),fun());</script>
时间: 2023-06-15 09:06:12 浏览: 69
这是一段 JavaScript 代码。代码中定义了一个变量 x 并赋值为 1,还定义了一个对象 obj,该对象有一个属性 x 值为 3,还有一个方法 fun,该方法内部定义了一个变量 x 并赋值为 5,并返回 this.x,即对象的属性 x 的值。接着,将对象的方法 fun 赋值给变量 fun。最后,通过 console.log 输出了 obj.fun() 和 fun() 的返回值。
代码中的输出结果应该为:3 1。这是因为 obj.fun() 中的 this.x 指向的是对象 obj 的属性 x,因此输出为 3;而 fun() 中的 this 指向的是全局对象,因此输出为全局变量 x 的值,即 1。
相关问题
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript"> var obj=new object(); obj.name="周润发"; obj.sex="男"; obj.age="20"; obj.fun=function () { alert("姓名:"+this.name+"性别:"+this.sex+"年龄:"+this.age); }; obj.fun(); </script> </head> <body> </body> </html> 这段代码有什么问题,为什么不能运行
这段代码有语法错误。在第4行应该是"new Object()"而不是"new object()";在第9行应该是"+"号连接字符串中间需要加上逗号或者加号,如下所示:
alert("姓名:" + this.name + "性别:" + this.sex + "年龄:" + this.age);
修正后的代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
var obj=new Object();
obj.name="周润发";
obj.sex="男";
obj.age="20";
obj.fun=function () {
alert("姓名:" + this.name + ",性别:" + this.sex + ",年龄:" + this.age);
};
obj.fun();
</script>
</head>
<body>
</body>
</html>
现在该代码可以正常运行。
删除功能报错,请改正 <body> <div> <table id="table"> <thead>学生信息表</thead> <tr> <td id="id">编号</td> <td id="tname">姓名</td> <td>性别</td> <td>操作</td> </tr> <tr> <td>1</td> <td>nxy</td> <td>女</td> <td> <a href="Javascript:void(0);" onclick="delTr(this)">删除</a> </td> </tr> </table> </div> <script> function delTr(obj) { var tr = obj.parentNode.parentNode; var table = tr.parentNode; document.getElementsByTagName("table")[0].removeChild(tr); } </script> </body>
在这段代码中,删除功能的实现有一个错误。应该在thead标签中加入一个tr标签来包含标题行中的所有单元格,以便使其与数据行具有相同的列数。同时,应该更改thead标签的显示方式为表头,而不是普通文本。修改后的代码如下:
```
<body>
<div>
<table id="table">
<thead>
<tr>
<th>学生信息表</th>
</tr>
<tr>
<th>编号</th>
<th>姓名</th>
<th>性别</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>nxy</td>
<td>女</td>
<td>
<a href="Javascript:void(0);" onclick="delTr(this)">删除</a>
</td>
</tr>
</tbody>
</table>
</div>
<script>
function delTr(obj) {
var tr = obj.parentNode.parentNode;
var table = tr.parentNode;
table.removeChild(tr);
}
</script>
</body>
```