gpt4 book ai didi

javascript - 覆盖 .toString() 并作为对象返回

转载 作者:行者123 更新时间:2023-11-28 21:18:23 25 4
gpt4 key购买 nike

在 JavaScript 中可能吗?

类似于:

Response.Cookies = 
function() {
return document.cookie;
};
Response.Cookies.toString =
function() {
Cookies = {};
this().replace(/([^=]+)=([^;]+);?/g,
function(foo, label, value) {
return Cookies[label] = value;
});
return Cookies;
};

alert(Response.Cookies); // "does not work"

最佳答案

这就是我认为你想要的:

var Response = {};

Response.Cookie =
function() {
var self = this;
Cookies = {};
this.Cookies = document.cookie;
this.Cookies = this.Cookies.replace(/([^=]+)=([^;]+);?/g,
function(foo, label, value) {
Cookies[label] = value;
});
this.Cookies = Cookies;
};
Response.Cookie();
for(var cookie in Response.Cookies){
alert(cookie + ' = ' +Response.Cookies[cookie])
}

fiddle :http://jsfiddle.net/maniator/Yb8NK/

<小时/>

更新:

这是一个没有调用Response.Cookie()的版本:http://jsfiddle.net/maniator/Yb8NK/25/

var Response = {
Cookies: null
}
Response.Cookie = (function() {
var self = Response;
Cookies = {};
self.Cookies = document.cookie;
self.Cookies = self.Cookies.replace(/([^=]+)=([^;]+);?/g,
function(foo, label, value) {
Cookies[label] = value;
});
self.Cookies = Cookies;
})();
for (var cookie in Response.Cookies) {
alert(cookie + ' = ' + Response.Cookies[cookie])
}
<小时/>

更新#2:

更好的版本:

var Response = {};
Response.Cookies = (function() {
var cookies = {};
var doc_cookies = document.cookie;
doc_cookies = doc_cookies.replace(/([^=]+)=([^;]+);?/g,
function(foo, label, value) {
cookies[label] = value;
});
return cookies;
})();
for (var cookie in Response.Cookies) {
alert(cookie + ' = ' + Response.Cookies[cookie])
}

fiddle :http://jsfiddle.net/maniator/Yb8NK/29/

关于javascript - 覆盖 .toString() 并作为对象返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7016807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com