我试图让它全部连接但没有任何工作..我对JavaScript很恐怖......它说它是'未定义'。我认为这是定义..
var convert = function (x) {
alert(dxc(x));
function dxc(m) {
stg(m.charAt(0));
}
function stg(d) {
if (d === "d") {
d = "p";
}
}
};
var conversion = prompt("What do you want to translate?");
convert(conversion);
编辑:这只是为了整个事情的想法,我没有接近完成...
答案 0 :(得分:3)
您忘记了return
要返回的值
var convert = function(x) {
alert(dxc(x));
function dxc(m) {
return stg(m.charAt(0));
}
function stg(d) {
if (d === "d") {
d = "p";
}
return d;
}
};
var conversion = prompt("What do you want to translate?");
convert(conversion);
答案 1 :(得分:2)
您的功能没有返回任何内容。
尝试:
var convert = function (x) {
alert(dxc(x));
function dxc(m) {
return stg(m.charAt(0));
}
function stg(d) {
if (d === "d") {
d = "p";
}
return d;
}
};
答案 2 :(得分:1)
d
只是一个指向某个值的名称;当您执行d = "p"
时,您正在更改d
指向的内容,但您只更改 d
; d
(特别是m.charAt(0)
)的来源保持不变。
您必须手动返回修改后的字符串:
function dxc(m) {
return stg(m.charAt(0)) + m.substring(1);
}
function stg(d) {
if (d === "d") {
return "p";
}else{
return d;
}
}