gpt4 book ai didi

javascript:将带有特殊字符的参数传递给函数而不被替换

转载 作者:行者123 更新时间:2023-11-28 04:41:39 25 4
gpt4 key购买 nike

我需要向 JavaScript 函数传递一些具有特殊字符的数据,例如

#228;

完整的字符串将如下所示

Bundesland Kärnten

我的 JavaScript 函数如下所示

function my_fumc(arg){
console.log(arg);
}

如果我通过以下方式调用这个函数

my_fumc('Bundesland Kärnten')

我进入控制台

Bundesland Kärnten

而不是

Bundesland Kärnten

所以,

Kä

被替换。

我尝试了不同的方法来解决这个问题。 1.将变量作为参数传递

my_var = 'Bundesland Kärnten';
my_fumc(my_var)

它有效,但我认为这不是一个好的解决方案。2。我还尝试使用encodeURI()函数,例如

my_fumc(encodeURI('Bundesland Kärnten'))

结果我得到:

Bundesland%20K%C3%A4rnten

我准备了一个很简单的jsfiddle展示 javascript 在向函数传递特殊字符时的行为方式。

请帮我找到解决方案。

最佳答案

正如 Kaiido 所指出的,问题更多地与 HTML 的工作方式有关。

一个选项可能更像是:

var txt = ["Bundesland Kärnten 01", "Bundesland Kärnten 02"];

function my_func(e){
var idx = (this.id == "t1") ? 0 : 1;
console.log(txt[idx]);
}

window.onload = function() {
document.getElementById("t1").addEventListener("click",my_func,true);
document.getElementById("t2").addEventListener("click",my_func,true);
}
<button id="t1">button 1</button>
<button id="t2">button 2</button>

关于javascript:将带有特殊字符的参数传递给函数而不被替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43716482/

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