2013-10-10 6 views
0

이것은 내 코드 조각이며 예상대로 작동하지 않습니다. 내가 잘못JavaScript 호출 함수가 작동하지 않습니다.

<html> 
<body> 
<form> 
    <input type="submit" value="Check" onclick="f(x, y, z)"/> 
</form> 
</body> 
<script type="text/javascript"> 

var x = prompt("Enter the number",""); 
var y = prompt("Enter the number",""); 
var z = prompt("Enter the number",""); 

function f(x, y, z) 
{ 
    // first, check that the right # of arguments were passed. 
    if (f.arguments.length != 3) { 
     alert("function f called with " + f.arguments.length + 
       "arguments, but it expects 3 arguments."); 
     return null; 
    } 


} 
</script> 
</html> 
+0

미래에는 문제가 무엇인지 말해야합니다. 당신은 무엇을 기대했으며 무슨 일이 일어나고 있는지. –

+0

안녕하세요, 첫 번째로, 전달 된 인수가 3 개의 인수와 일치하는지 확인하고 있습니다. 하지만, 여전히 작동하지 않습니다 .. 어떤 생각? – Sakthivel

답변

2

당신은 arguments.length을 확인해야한다 무엇을 나에게 어떤 아이디어를 줄 수,하지 f.arguments.length

편집 : @TheMobileMushroom는 인수의 길이는 인수가 빈 문자열이있는 경우에도 3 것이라고 지적했다. 당신은 arguments.length

+0

안녕, 나 아직도 같은 문제에 직면 해있다. 어떤 생각? – Sakthivel

+0

무엇이 문제입니까? 함수가 호출 되었습니까? x, y, z의 값은 무엇입니까? –

+0

'프롬프트'를 통해 사용자로부터 가치를 얻고 있습니다. 내 코드를 참조하십시오. 함수 f() 들어, 나는 사용자로부터 값을 받고있다. – Sakthivel

3

항상 3 개 인수를해야합니다 당신이 호출하는 기능을 사용하지 마십시오

if (!x || !y || !z) 

으로 변경할 수 있습니다. 인수가 비어 있지 않은지 확인하고 싶을 수도 있습니다.

if (x=='' || y=='' || z==''){} 
0

양식 태그 앞에 스크립트 태그를 삽입하면 x, y 및 z가 먼저 선언됩니다.

관련 문제