Javascript:创建对象而不是 return 语句?这是如何运作的?
Javascript: creating an object instead the return statement? How does this work?
我对下面的代码很困惑。为什么 "set:" 而不是 return 语句?如何调用 set 函数?谢谢
BrainBrowser.createTreeStore = function() {
var tree = {};
return {
set: function() {
var value = arguments[arguments.length - 1];
},
它有点像 setter/getter 为 createTreeStore
定义的,如果您希望在用户设置此对象的值(或读取值)时有更多行为,请使用它。
例如:
Object.defineProperty(document.body, "description", {
get : function () {
console.log("You are reading my value!!!");
return this.desc;
},
set : function (val) {
console.log("Thanks for new value!");
this.desc = val;
}
});
用法:
document.body.description = "Content container";
打开console
你会看到日志:
Thanks for new value!
在此处阅读更多内容:http://robertnyman.com/2009/05/28/getters-and-setters-with-javascript-code-samples-and-demos/
我对下面的代码很困惑。为什么 "set:" 而不是 return 语句?如何调用 set 函数?谢谢
BrainBrowser.createTreeStore = function() {
var tree = {};
return {
set: function() {
var value = arguments[arguments.length - 1];
},
它有点像 setter/getter 为 createTreeStore
定义的,如果您希望在用户设置此对象的值(或读取值)时有更多行为,请使用它。
例如:
Object.defineProperty(document.body, "description", {
get : function () {
console.log("You are reading my value!!!");
return this.desc;
},
set : function (val) {
console.log("Thanks for new value!");
this.desc = val;
}
});
用法:
document.body.description = "Content container";
打开console
你会看到日志:
Thanks for new value!
在此处阅读更多内容:http://robertnyman.com/2009/05/28/getters-and-setters-with-javascript-code-samples-and-demos/