Javascript-在定义之前使用

Javascript-在定义之前使用,javascript,Javascript,最近我问了一个关于我用JavaScript编码的三角形计算的问题。基本上,我去了JSLint(一个JavaScript调试工具)获取了一些数据,以了解为什么函数和过程中没有任何东西可以正常工作,因为它看起来很好,我遵循了前面给出的建议,但我相信这是一个单独的问题。我已将代码张贴在下面: <html> <head> <link href="stylesheet/stylesheet.css" rel="stylesheet" type="text/css"&g

最近我问了一个关于我用JavaScript编码的三角形计算的问题。基本上,我去了JSLint(一个JavaScript调试工具)获取了一些数据,以了解为什么函数和过程中没有任何东西可以正常工作,因为它看起来很好,我遵循了前面给出的建议,但我相信这是一个单独的问题。我已将代码张贴在下面:

    <html>
<head>
<link href="stylesheet/stylesheet.css" rel="stylesheet" type="text/css">

<script language="Javascript" type="text/javascript">

/*  Key/Legend
Var
    inp1 = input1
    inp2 = input2
    inp3 = input3
    Triangle_Inputs = Form Name

    */

/* Notes

    In computing, a parser is one of the components in an interpreter or 
    compiler that checks for correct syntax and builds a data structure 
    (often some kind of parse tree, abstract syntax tree or other hierarchical structure) 
    implicit in the input tokens.


    Technique
    if (side1 is equal to side2 AND side 2 is equal to side3) {equalitateral}

    if (side1 is equal to side2 AND side 2 doesn't equal to side3) {isosceles}

    if (side1 doesn't equal to side2 AND side2 doesn't equal to side 3 AND side 3 doesn't equal side 1) {scalene}

    http://www.w3schools.com/js/js_comparisons.asp

    */


function checkinputs(){
/* Var = parseInt(document.Name_Of_Element_Form.Field_Name(Input).value); */
/* Input Fields */
inp1 = parseInt(document.Triangle_Inputs.input1.value);
inp2 = parseInt(document.Triangle_Inputs.input2.value);
inp3 = parseInt(document.Triangle_Inputs.input3.value);
/* Side options */
sideA = (inp1);
sideB = (inp2);
sideC = (inp3);
    if (sideA == sideB && sideB == sideC) {
    alert("Equalateral");
    }
    if (sideA == sideB && != sideC) {
    alert("Isosceles");
    }
    if (sideA != sideB == sideC) {
    alert("Isosceles");
    }
    if (sideA != sideB != sideC != sideA) {
    alert("Scalene!");
    }
}
</script>


</head>
<body>
<div id="Container">

<div id="Header"><h1></h1></div>

        <div id="Content_1">
                <div id="Explanation">
                This calculator will determine what
                triangle you have made depending on
                the integer values in the input fields.

                </div>
                <div id="Form">
                    <FORM NAME="Triangle_Inputs" METHOD="GET">
                    Enter the triangle values below: <br>
                    <p>
                    <h4>Side 1: </h4><BR>
                    <INPUT TYPE="Integer" NAME="input1" VALUE=""><P>
                    <h4>Side 2: </h4><BR>
                    <INPUT TYPE="Integer" NAME="input2" VALUE=""><P>
                    <h4>Side 3:</h4> <BR>
                    <INPUT TYPE="Integer" NAME="input3"  VALUE=""><P>
                    <INPUT TYPE="button" NAME="Submit" Value="Submit" Class="Submit" onClick="checkinputs()">
                    </FORM>
                </div>
                <div id="Verbal_Output">
                    <h2>You made a:</h2>
                    <p>        
                    <h2>Triangle</h2>
                </div>

            </div>
            <p>
            <p>
        <div id="Content_2">

        <div id="Image_Output">asdad</div>
    </div>      
</div>



</body>
</html>

/*钥匙/图例
变量
inp1=input1
inp2=input2
inp3=input3
三角形输入=表单名称
*/
/*注释
在计算中,解析器是解释器或
检查语法是否正确并构建数据结构的编译器
(通常是某种解析树、抽象语法树或其他层次结构)
隐含在输入标记中。
技巧
如果(边1等于边2,边2等于边3){equaltateral}
如果(边1等于边2,边2不等于边3){isosceles}
如果(side1不等于side2,side2不等于side3,side3不等于side1){scalene}
http://www.w3schools.com/js/js_comparisons.asp
*/
函数checkinputs(){
/*Var=parseInt(document.Name\u Of_Element\u Form.Field\u Name(Input.value))*/
/*输入字段*/
inp1=parseInt(document.Triangle\u Inputs.input1.value);
inp2=parseInt(document.Triangle\u Inputs.input2.value);
inp3=parseInt(document.Triangle\u Inputs.input3.value);
/*附加选项*/
sideA=(inp1);
sideB=(inp2);
sideC=(inp3);
if(sideA==sideB&&sideB==sideC){
警惕(“同等”);
}
if(sideA==sideB&!=sideC){
警戒(“等腰”);
}
if(sideA!=sideB==sideC){
警戒(“等腰”);
}
如果(sideA!=sideB!=sideC!=sideA){
警惕(“不平衡!”);
}
}
这个计算器将决定什么
你所做的三角形取决于
输入字段中的整数值。
在下面输入三角形值:
第1面:

第二面:

第三面:

你犯了一个错误: 三角 阿斯达

这是站点本身,忽略div标记。我想知道为什么我不能点击按钮,更想知道为什么JSlint说:

inp1=parseInt(document.Triangle\u Inputs.input1.value)

第39行字符1“inp1”在定义之前已被使用

对于inp1、inp2和inp3

编辑:

我对使用变量的理解是不正确的,我列出变量时没有使用“,”s。 相反,我只调用了一个变量,其余的没有调用。

试试这个:

var checkinputs = function() {
/* Input Fields */
var sideA = parseInt(document.Triangle_Inputs.input1.value),
    sideB = parseInt(document.Triangle_Inputs.input2.value),
    sideC = parseInt(document.Triangle_Inputs.input3.value);

alert (sideA == sideB && sideB == sideC) ? 'Equilateral' :
      (sideA == sideB && sideA != sideC) ? 'Isosceles' :
      (sideA != sideB && sideA == sideC) ? 'Isosceles' :
      (sideA != sideB && sideA != sideC && sideB != sideC) ? 'Scalene' :
      'logic needs improvement';
}

我还注意到您的逻辑有一点缺陷,因此我已将其编辑为我认为正确的格式。

您缺少
var
这就是为什么Hello,您是否愿意详细说明,它是否为var inp1=integer;Var inp2=整数;Var inp3=整数;谢谢:)是的,当你定义一个变量时,把
var
放在它前面(小写)。谢谢你,亚伯拉罕,这会被注意到。@OP注意
,这意味着你用var关键字声明了3个变量。嘿,谢谢你的回复。我刚试过,但还是有问题。没有弹出窗口。我应该把它上传到我的网络空间吗?你的逻辑完全错了。我正在修理它;给我两分钟。谢谢Jezen,希望我能比较和对比:)我真的不擅长数学,所以我的答案可以改进。基本上,如果您看到警报“逻辑需要改进”,则表示测试逻辑不够健壮。