我最近开始学习Javascript,作为一个小挑战,我试图创建一个程序,其中一个提示要求一个名字,然后程序反向输出名称。我的想法如下:
var name = prompt("What is your name?");
name = new Array(name.length);
name.reverse();
document.write(name);
这段代码出了什么问题?
将字符串转换为数组,反转它,将其连接起来:
s.split('').reverse().join('');
首先,数组对字符串的字符一无所知。你只是创建一个长度相同的空填充数组。
将字符串转换为数组的正确方法是使用splice
:
name = Array.prototype.slice.apply(name);
slice
是一个返回数组部分的数组方法。如果不传递任何参数,它将克隆数组。方便的是,它适用于非数组并生成一个数组。
apply
是一种在任意对象上调用函数的方法。它允许我们在字符串上调用数组方法。
var name = "yourname";
var myFunction = function () {
var s = name;
return s.split('').reverse().join('');
}
myFunction();
var fullName = prompt(" What is your full name");
document.getElementById("fn").innerHTML = fullName.toUpperCase();
document.getElementById("len").innerHTML = fullName.length;
function back() {
return fullName.split('').reverse().join('');
}
document.getElementById("back").innerHTML=back();