var o = (function () { var obj = { a: "1", b: "2" } return { get: function (k) { return obj[k] } } })() // 在不改变上面代码的情况下,修改obj这个对象 console.log(o.get("a"));
时间: 2024-01-23 20:01:35 浏览: 73
在不改变上述代码的情况下,可以通过o对象的get方法获取obj对象中的属性值,但是无法直接修改obj对象。不过,可以通过o对象的get方法间接地修改obj对象中的属性值。例如,要将obj对象中的a属性的值修改为"3",可以使用以下代码:
```
o.get("a"); // "1"
obj.a = "3";
o.get("a"); // "3"
```
通过调用o对象的get方法获取obj对象中的a属性的值,然后直接修改obj对象中的a属性的值即可。再次调用o对象的get方法获取a属性的值时,会返回修改后的值"3"。
相关问题
var obj={ f:function(){ console.log(this); console.log(this.f); console.log(this.a); console.log(this.b); }, a:"a", b:"b" } var b=obj.f b() obj.f()
这段代码中定义了一个名为obj的对象,其中包含一个属性a和一个属性b,以及一个方法f。方法f中使用了this关键字,这意味着该方法中的this指向调用该方法的对象。因此,当使用b=obj.f时,b指向方法f本身,而不是obj对象。因此,当调用b()时,this指向的是全局对象,而不是obj对象,因此输出的结果中不会包含a和b属性的值。
而当调用obj.f()时,this指向的是obj对象本身,因此输出的结果中会包含a和b属性的值。所以最终输出的结果应该是:
global object
undefined
undefined
undefined
obj对象
function f() {
console.log(this);
console.log(this.f);
console.log(this.a);
console.log(this.b);
}
a
b
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>title</title> <style> input{ background-color: rgb(160, 162, 164); } </style> <script src=> </script> <script> function $(id){ return document.getElementById(id); } function clear1(obj){ obj.value=""; obj.style.backgroundColor="white"; } function chkName(){ var username=$("username").value; if(username==null||username=="") $("nameMsg").innerHTML="用户名不能为空"; else if(username.length<3||username.length>15){ alert('用户名长度应在3-15之间'); } } function chkPwd(){ var password=$("password").value; if(password==null||password=="") $("pwdMsg").innerHTML="密码不能为空"; else if(password.length<3||password.length>15){ alert('密码长度应在3-15之间'); } } </script> </head> <body> <form> 用户名<input type="text" id="username"name="username" value="请输入3-15个字符用户名" onfocus="clear1(this)" onblur="chkName()"/><span id="nameMsg"></span><br/> 密码<input type="password"name="password"id="password" onfocus="clear1(this)"onblur="chkPwd()"/> <span id="pwdMsg"></span><br/> </form> </body> </html>
这是一个基本的 HTML 页面,包含一个表单,表单中有用户名和密码的输入框,以及对应的信息提示元素。页面使用了一些 CSS 样式来设置输入框的背景颜色,当输入框获得焦点时会清空原有的提示信息,失去焦点时会触发相应的验证函数来检查输入的有效性。同时页面还引入了一个 JavaScript 脚本文件,其中定义了一些函数来处理表单输入框的验证和清空操作。
阅读全文