gpt4 book ai didi

javascript - 转义对象的所有属性

转载 作者:行者123 更新时间:2023-11-30 17:54:12 26 4
gpt4 key购买 nike

如何在 JS 中转义对象的所有属性?

var literal = {
valid:'thisIsAValidValue',
toEscape:'ThîsStringNéédsToBéEscàped'
};

//Does not work
escape(literal)

//Does not work either, how to loop over attributes?
$.each(literal.attributes, function(){
this = escape(this);
});

最佳答案

首先,您真的确定要转义吗?这是一个旧的、已弃用的函数。

但在任何情况下,代码的形式都不会改变,无论您调用什么函数来转换值:

var key;
for (key in literal) {
literal[key] = escape(literal[key]);
}

或者使用 jQuery 的 $.each,因为你似乎在使用 jQuery:

$.each(literal, function(key, value) {
literal[key] = escape(value);
});

如果你想确保不处理继承的属性(尽管你的literal不会有任何可枚举的继承属性,除非有人确实非常顽皮并向对象添加了一个可枚举的属性.原型(prototype)):

var key;
for (key in literal) {
if (literal.hasOwnProperty(key)) {
literal[key] = escape(literal[key]);
}
}

关于 for-in 的更多信息,请访问我的博客:Myths and realities of for..in

关于javascript - 转义对象的所有属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18400028/

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