简单js的问题
答案:2 悬赏:30 手机版
解决时间 2021-11-25 12:51
- 提问者网友:最美的风景
- 2021-11-24 19:48
简单js的问题
最佳答案
- 五星知识达人网友:何以畏孤独
- 2021-11-24 21:10
1.var con 后显示的是content.value的值 并不是content.value这个函数
btn.onclick=function (){
var mValue=m.value;
var con=content.value;
console.log(typeof con);//string
if(mValue>1){
con=mValue*(mValue-1);
console.log(con);//90
console.log(typeof con);//number
}else if(mValue===1){
con=1;
}else{
alert("请输入一个非负整数!");
}
}2.实现阶乘 可用下面这个函数
btn.onclick=function (){
var mValue=m.value;
if(mValue<1){
alert("不能输入负值");
return false;
}
var sum = 1;
while (mValue){
sum = sum*mValue--;
}
content.value = sum;
}
btn.onclick=function (){
var mValue=m.value;
var con=content.value;
console.log(typeof con);//string
if(mValue>1){
con=mValue*(mValue-1);
console.log(con);//90
console.log(typeof con);//number
}else if(mValue===1){
con=1;
}else{
alert("请输入一个非负整数!");
}
}2.实现阶乘 可用下面这个函数
btn.onclick=function (){
var mValue=m.value;
if(mValue<1){
alert("不能输入负值");
return false;
}
var sum = 1;
while (mValue){
sum = sum*mValue--;
}
content.value = sum;
}
全部回答
- 1楼网友:像个废品
- 2021-11-24 22:27
if (mValue > 1) {
content.value = mValue * (mValue - 1);
} else if (mValue == 1) {
content.value = 1;
} else {
alert("请输入一个非负整数!");
}
var m = document.getElementById("text");
var btn = document.getElementById("button");
var content = document.getElementById("result");
btn.onclick = function() {
var mValue = m.value;
var con = content.value;
if (mValue > 1) {
content.value = jc(mValue);
} else if (mValue == 1) {
content.value = 1;
} else {
alert("请输入一个非负整数!");
}
}
function jc(j){
if(j==1){
return 1;
}else{
return j*jc(j-1);
}
}
}
var mValue=m.value;
if(mValue<1){
alert("不能输入负值");
return false;
}
var sum = 1;
while (mValue){
sum = sum*mValue--;
}
content.value = sum;
}
content.value = mValue * (mValue - 1);
} else if (mValue == 1) {
content.value = 1;
} else {
alert("请输入一个非负整数!");
}
最后几句
把con=mValue*(mValue-1);改成content.value
var con后,con已经是值了,不是对象
追问嗯嗯,我修改了一下,可是阶乘部分求不出来,显示的错误是:Uncaught RangeError: Maximum call stack size exceeded...
追答是栈溢出的问题,你的嵌套语句有问题
window.onload = function() {var m = document.getElementById("text");
var btn = document.getElementById("button");
var content = document.getElementById("result");
btn.onclick = function() {
var mValue = m.value;
var con = content.value;
if (mValue > 1) {
content.value = jc(mValue);
} else if (mValue == 1) {
content.value = 1;
} else {
alert("请输入一个非负整数!");
}
}
function jc(j){
if(j==1){
return 1;
}else{
return j*jc(j-1);
}
}
}
如果要实现阶乘,这边另一个哥们写的很好了,用while语句简洁明了
btn.onclick=function (){var mValue=m.value;
if(mValue<1){
alert("不能输入负值");
return false;
}
var sum = 1;
while (mValue){
sum = sum*mValue--;
}
content.value = sum;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯