JavaScript 삽입 위치 JavaScript는 HTML의 어느 곳에나 나타날 수 있습니다. … 태그를 사용하면 HTML 문서의 어느 곳에나 이전에도 JavaScript를 삽입할 수 있습니다. 다만, 프레임을 선언한 웹페이지(프레임 웹페이지)에 삽입하려면 앞에 삽입해야 하며, 그렇지 않으면 실행되지 않습니다. 기본 형식 코드 복사 코드는 다음과 같습니다. < ;script> 두 번째와 네 번째 줄은 태그를 이해하지 못하는 브라우저가 JavaScript 코드를 무시하도록 하는 데 사용됩니다. 일반적으로 이를 생략할 수 있습니다. 이제 스크립트를 이해하지 못하는 브라우저를 찾으려면 박물관에도 해당 브라우저가 없기 때문입니다. 네 번째 줄 앞의 이중 백슬래시 "//"는 JavaScript의 주석 표시로 나중에 배우게 됩니다. <br><br>JavaScript를 삽입하는 또 다른 방법은 JavaScript 코드를 다른 파일(이 파일은 일반적으로 ".js" 확장자를 가져야 함)에 작성한 다음 "<script src=" javascript.js " 형식을 사용하는 것입니다. >" 태그는 이를 문서에 삽입합니다. ""로 표시해야 합니다. 참조 태그에는 스크립트에서 사용되는 언어를 설명하는 언어(lang으로 약칭) 속성도 있습니다. JavaScript의 경우 "언어="JavaScript""를 사용하세요. <br>참고자료 <script> 태그와 비교하여 <server> 태그도 있습니다. <server> 태그에는 서버측 스크립트가 포함되어 있습니다. 이 튜토리얼에서는 클라이언트측 JavaScript, 즉 <script> 태그에 포함된 스크립트에 대해서만 설명합니다. <br>브라우저의 "주소" 표시줄에서 JavaScript 문을 실행하려면 다음 형식을 사용하세요. <br>javascript:<JavaScript 문><br>이 형식은 연결에서도 사용할 수 있습니다. <br> < ;a href="javascript:<JavaScript 문>">...</a><br><br><strong>JavaScript의 기본 구문</strong><br>각 JavaScript 문장은 다음과 같습니다. 형식: <br><Statement><br>여기서 세미콜론 ";"은 명령문을 끝내는 JavaScript 언어 식별자입니다. 현재 많은 브라우저에서는 닫는 기호로 캐리지 리턴을 허용하지만 세미콜론으로 끝나는 습관을 기르는 것은 여전히 좋은 습관입니다. <br>명령문 블록 명령문 블록은 중괄호 "{ }"로 묶인 하나 또는 n개의 명령문입니다. 중괄호 안에는 여러 개의 명령문이 있지만 중괄호 외부에 있는 명령문 블록은 하나의 명령문으로 처리됩니다. 명령문 블록은 중첩될 수 있습니다. 즉, 명령문 블록은 하나 이상의 명령문 블록을 포함할 수 있습니다. 변수 이름 지정에는 다음 요구 사항이 있습니다. <br> 문자, 숫자 및/또는 밑줄만 포함해야 합니다. <strong>은 문자로 시작해야 합니다. </strong>은 너무 길면 안 됩니다. long을 사용하고 냄새 나는 이름은 어떻습니까?); <br>는 JavaScript 예약어(핵심 단어, 예약어, 하나씩 나열하기에는 너무 많습니다. JavaScript 명령을 만드는 데 사용할 수 있는 단어는 모두 예약되어 있습니다)와 함께 사용할 수 없습니다. 단어). <br>또한 변수는 대소문자를 구분합니다. 예를 들어 변수와 변수는 서로 다른 두 변수입니다. 그뿐만 아니라 대부분의 명령과 "객체"("객체 기반 프로그래밍" 장 참조)는 대소문자를 구분합니다. <br>Tip 변수 이름을 지정할 때 "a", "b", "c" 등의 단일 문자를 사용하는 것을 피하고 대신 프로그램에서 변수의 역할을 명확하게 표현할 수 있는 단어를 사용하는 것이 가장 좋습니다. 이렇게 하면 다른 사람들이 여러분의 프로그램을 더 쉽게 이해할 수 있을 뿐만 아니라, 나중에 프로그램을 수정할 때 변수의 역할을 빨리 기억할 수도 있습니다. 변수 이름은 일반적으로 소문자를 사용합니다. 여러 단어로 구성된 경우 첫 번째 단어에는 소문자를 사용하고 다른 단어의 첫 글자에는 대문자를 사용합니다. 예: myVariable 및 myAnotherVariable. 이는 단지 아름다움과 가독성을 위해 수행된 것입니다. 왜냐하면 일부 JavaScript 명령("command"라는 단어는 나중에 보다 구체적인 방식으로 설명될 것임)이 charAt 등의 방식으로 이름이 지정되기 때문입니다. <br>변수는 선언되어야 합니다. 선언되지 않은 변수는 사용할 수 없습니다. 그렇지 않으면 "정의되지 않음"이라는 오류가 발생합니다. 변수를 선언하려면 다음을 사용할 수 있습니다. <br><br>var <Variable> [= <Value>];<br><br>var 처음 접하는 키워드(즉, 예약어) ). 이 키워드는 변수를 선언하는 데 사용됩니다. 가장 간단한 선언 방법은 "var <Variable>"로, <Variable>에 대한 메모리를 준비하고 초기 값 "null"을 할당합니다. "= <value>"가 추가되면 <variable>에 사용자 정의 초기 값 <value>이 할당됩니다. <br><br>데이터 유형 변수가 사용할 수 있는 데이터 유형은 다음과 같습니다. <br>정수 유형은 정수만 저장할 수 있습니다. 양의 정수, 0, 음의 정수, 10진수, 8진수 또는 16진수가 될 수 있습니다. 8진수는 숫자 앞에 "0"을 붙여 표시합니다. 예를 들어 "0123"은 8진수 "123"을 나타냅니다. 16진수의 경우 "0x"를 추가합니다. "0xEF"는 16진수 "EF"를 나타냅니다.<br>浮点型 即“实型”,能储存小数。有资料显示,某些平台对浮点型变量的支持不稳定。没有需要就不要用浮点型。<br>字符串型 是用引号“" "”、“' '”包起来的零个至多个字符。用单引号还是双引号由你决定。跟语文一样,用哪个引号开始就用哪个结束,而且单双引号可嵌套使用:'这里是"JavaScript 教程"。' 不过跟语文不同的是,JavaScript 中引号的嵌套只能有一层。如果想再多嵌一些,你需要转义字符:<br> 转义字符 由于一些字符在屏幕上不能显示,或者 JavaScript 语法上已经有了特殊用途,在要用这些字符时,就要使用“转义字符”。转义字符用斜杠“”开头:\' 单引号、\" 双引号、 换行符、 回车(以上只列出常用的转义字符)。于是,使用转义字符,就可以做到引号多重嵌套:'Micro 说:"这里是\"JavaScript 教程\"。" '<br>布尔型 常用于判断,只有两个值可选:true(表“真”)和 false(表“假”)。true 和 false 是 JavaScript 的保留字。它们属于“常数”。<br>对象 关于对象,在“对象化编程”一章将详细讲到。<br>由于 JavaScript 对数据类型的要求不严格,一般来说,声明变量的时候不需要声明类型。而且就算声明了类型,在过程中还可以给变量赋予其他类型的值。声明类型可以用赋予初始值的方法做到: <div class="blockcode"><font face="新宋体"><code id="code1">var aString = '';</code><br></font></div>这将把 aString 定义为具有空值的字符串型变量。 <div class="blockcode"><font face="新宋体"><code id="code2">var anInteger = 0;</code><br></font></div>这将把 anInteger 定义为值为 0 的整型。<br>变量的赋值 一个变量声明后,可以在任何时候对其赋值。赋值的语法是:<br><变量> = <表达式>;<br>其中“=”叫“赋值符”,它的作用是把右边的值赋给左边的变量。下一节将讨论到表达式。 <br><br>JavaScript常数 有下列几个:<br><br>null 一个特殊的空值。当变量未定义,或者定义之后没有对其进行任何赋值操作,它的值就是“null”。企图返回一个不存在的对象时也会出现null值。<br>NaN “Not a Number”。出现这个数值比较少见,以至于我们可以不理它。当运算无法返回正确的数值时,就会返回“NaN”值。NaN 值非常特殊,因为它“不是数字”,所以任何数跟它都不相等,甚至 NaN 本身也不等于 NaN 。<br>true 布尔值“真”。用通俗的说法,“对”。<br>false 布尔值“假”。用通俗的说法,“错”。<br><br>在 Math 对象中还有一系列数学常数。这将在讨论“对象化编程”时谈到。<br><br><strong>表达式与运算符</strong><br>表达式 与数学中的定义相似,表达式是指具有一定的值的、用运算符把常数和变量连接起来的代数式。一个表达式可以只包含一个常数或一个变量。运算符可以是四则运算符、关系运算符、位运算符、逻辑运算符、复合运算符。下表将这些运算符从高优先级到低优先级排列:<br> <table class="t_table" style="WIDTH: 0px" cellspacing="0"> <tbody> <tr> <td width="60">括号</td> <td width="120">(x) [x]</td> <td width="400">中括号只用于指明<strong>数组</strong>的<strong>下标</strong> </td> </tr> <tr> <td rowspan="6">求反、自加、自减</td> <td>-x</td> <td>返回 x 的相反数</td> </tr> <tr> <td>!x</td> <td>返回与 x (布尔值)相反的布尔值</td> </tr> <tr> <td>x++</td> <td>x 值加 1,但仍返回原来的 x 值</td> </tr> <tr> <td>x--</td> <td>x 值减 1,但仍返回原来的 x 值 </td> </tr> <tr> <td>++x</td> <td>x 值加 1,返回后来的 x 值</td> </tr> <tr> <td>--x</td> <td>x 值减 1,返回后来的 x 值</td> </tr> <tr> <td rowspan="3">乘、除</td> <td>x*y</td> <td>返回 x 乘以 y 的值</td> </tr> <tr> <td>x/y</td> <td>返回 x 除以 y 的值</td> </tr> <tr> <td>x%y</td> <td>返回 x 与 y 的模(x 除以y 的余数)</td> </tr> <tr> <td rowspan="2">加、减</td> <td>x+y</td> <td>返回 x 加 y 的值</td> </tr> <tr> <td>x-y</td> <td>返回 x 减 y 的值</td> </tr> <tr> <td>关系运算</td> <td>x<y x<=y<BR>x>=y x>y</td> <td>当符合条件时返回 true 值,否则返回 false 值</td> </tr> <tr> <td rowspan="2">等于、<br>不等于</td> <td>x==y</td> <td>当 x 等于 y 时返回 true 值,否则返回 false 值</td> </tr> <tr> <td>x!=y</td> <td>当 x 不等于 y 时返回 true 值,否则返回 false 值</td> </tr> <tr> <td>位与</td> <td>x&y</td> <td>当两个数位同时为 1 时,返回的数据的当前数位为 1,其他情况都为 0</td> </tr> <tr> <td>位异或</td> <td>x^y</td> <td>两个数位中有且只有一个为 0 时,返回 0,否则返回 1</td> </tr> <tr> <td>位或</td> <td>x|y</td> <td>两个数位中只要有一个为 1,则返回 1;当两个数位都为零时才返回零</td> </tr> <tr> <td colspan="3">位运算符通常会被当作逻辑运算符来使用。它的实际运算情况是:把两个操作数(即 x 和 y)化成二进制数,对每个数位执行以上所列工作,然后返回得到的新二进制数。由于“真”值在电脑内部(通常)是全部数位都是 1 的二进制数,而“假”值则是全部是 0 的二进制数,所以位运算符也可以充当逻辑运算符。</td> </tr> <tr> <td>逻辑与</td> <td>x&&y</td> <td>当 x 和 y 同时为 true 时返回 true,否则返回 false</td> </tr> <tr> <td>逻辑或</td> <td>x||y</td> <td>当 x 和 y 任意一个为 true 时返回 true,当两者同时为 false 时返回 false</td> </tr> <tr> <td colspan="3">逻辑与/或有时候被称为“快速与/或”。这是因为当第一操作数(x)已经可以决定结果,它们将不去理会 y 的值。例如,false && y,因为x == false,不管 y 的值是什么,结果始终是 false,于是本表达式立即返回 false,而不论 y 是多少,甚至 y 可以导致出错,程序也可以照样运行下去。 </td> </tr> <tr> <td>条件</td> <td>c?x:y</td> <td>当条件 c 为 true 时返回 x 的值(执行 x 语句),否则返回 y 的值(执行 y 语句)</td> </tr> <tr> <td rowspan="2">赋值、<br>复合运算</td> <td>x=y</td> <td>把 y 的值赋给 x,返回所赋的值</td> </tr> <tr> <td>x+=y x-=y x*=y<br>x/=y x%=y</td> <td>x 与 y 相加/减/乘/除/求余,所得结果赋给 x,并返回 x 赋值后</td> </tr> </tbody> </table> <br><br><em>注意</em> 所有与四则运算有关的运算符都不能作用在字符串型变量上。字符串可以使用 +、+= 作为连接两个字符串之用。<br><br><em>提示</em> 请密切注意运算的优先级。编程时如果不记得运算符的优先级,可以使用括号( )。例如:(a == 0)||(b == 0)。<br><br>一些用来赋值的表达式,由于有返回的值,可以加以利用。例如,用以下语句:a = b = c = 10,可以一次对三个变量赋值。<br><br><strong>语句</strong><br>下面将开始讨论 JavaScript 基本编程命令,或者叫“语句”。<br><br><em>注释</em><br><br>像其他所有语言一样,JavaScript 的注释在运行时也是被忽略的。注释只给程序员提供消息。<br><br>JavaScript 注释有两种:单行注释和多行注释。单行注释用双反斜杠“//”表示。当一行代码有“//”,那么,“//”后面的部分将被忽略。而多行注释是用“/*”和“*/”括起来的一行到多行文字。程序执行到“/*”处,将忽略以后的所有文字,直到出现“*/”为止。<br><br>提示 如果你的程序需要草稿,或者需要让别人阅读,注释能帮上大忙。养成写注释的习惯,能节省你和其他程序员的宝贵时间,使他们不用花费多余的时间琢磨你的程序。在程序调试的时候,有时需要把一段代码换成另一段,或者暂时不要一段代码。这时最忌用 Delete 键,如果想要回那段代码怎么办?最好还是用注释,把暂时不要的代码“隐”去,到确定方法以后再删除也不迟。<br><br><em>if 语句</em> <div class="blockcode"><font face="新宋体"><code id="code3">if ( <条件> ) <语句1> [ else <语句2> ];</code><br></font></div>本语句有点象条件表达式“?:”:当<条件>为真时执行<语句1>,否则,如果 else 部分存在的话,就执行<语句2>。与“?:”不同的是,if 只是一条语句,不会返回数值。<条件>是布尔值,必须用小括号括起来;<语句1>和<语句2>都只能是一个语句,欲使用多条语句,请用语句块。<br><br>注意 请看下例: <div class="blockcode"><font face="新宋体"><code id="code4">if (a == 1)<br> if (b == 0) alert(a+b);<br>else<br> alert(a-b);</code><br></font></div>本代码企图用缩进的方法说明 else 是对应 if (a == 1) 的,但是实际上,由于 else 与 if (b == 0) 最相近,本代码不能按作者的想法运行。正确的代码是 <div class="blockcode"><font face="新宋体"><code id="code5">if (a == 1) {<br> if (b == 0) alert(a+b);<br>} else {<br> alert(a-b);<br>}</code><br></font></div> <em>提示</em> 一行代码太长,或者涉及到比较复杂的嵌套,可以考虑用多行文本,如上例,if (a == 1) 后面没有立即写上语句,而是换一行再继续写。浏览器不会混淆的,当它们读完一行,发现是一句未完成语句,它们会继续往下读。使用缩进也是很好的习惯,当一些语句与上面的一两句语句有从属关系时,使用缩进能使程序更易读,方便程序员进行编写或修改工作。<br><br><em>循环体</em> <div class="blockcode"><font face="新宋体"><code id="code6">for (<变量>=<初始值>; <循环条件>; <变量累加方法>) <语句>;</code><br></font></div>本语句的作用是重复执行<语句>,直到<循环条件>为 false 为止。它是这样运作的:首先给<变量>赋<初始值>,然后*判断<循环条件>(应该是一个关于<变量>的条件表达式)是否成立,如果成立就执行<语句>,然后按<变量累加方法>对<变量>作累加,回到“*”处重复,如果不成立就退出循环。这叫做“for循环”。下面看看例子。 <div class="blockcode"><font face="新宋体"><code id="code7">for (i = 1; i < 10; i++) document.write(i);</CODE><BR></FONT></DIV>이 명령문은 먼저 i에 초기값 1을 할당한 다음 document.write(i) 명령문을 실행합니다(함수는 문서에 i의 값을 쓰는 것입니다. "객체 기반 프로그래밍" 장을 참조하세요). i가 반복되면 i는 1을 더합니다. i<10이 만족되지 않을 때까지, 즉 i>=10일 때 종료됩니다. 결과는 "123456789"가 문서에 출력되는 것입니다. <br><br>if 문과 마찬가지로 <statement>는 한 줄의 문만 사용할 수 있습니다. 여러 문을 사용하려면 문 블록을 사용해야 합니다. <br><br>다른 언어와 달리 JavaScript의 for 루프는 루프할 때마다 루프 변수가 1씩 증가하거나 감소해야 한다고 규정하지 않습니다. <변수 누적 방법> , i*=2, i-=j 등은 모두 참입니다. <br><br>팁 for 루프를 적절하게 사용하면 HTML 문서에서 정기적으로 반복되는 많은 부분을 단순화할 수 있습니다. 즉, for 루프를 사용하여 일부 HTML 코드를 반복적으로 작성하여 웹 페이지의 다운로드 속도를 높이는 것입니다. 그러나 Netscape에서 엄격한 테스트를 반복하고 웹페이지를 업로드하기 전에 테스트를 통과하는지 확인하십시오. 저자는 for 루프를 사용하여 문서에 HTML 코드를 반복적으로 작성하여 Netscape를 "갑자기 죽게" 만들려고 여러 번 시도했습니다. IE에서는 이런 일이 절대 발생하지 않습니다. 귀하의 웹사이트가 IE 전용이라면, 많이 사용해도 문제가 되지 않습니다. <br><br><em>JavaScript는 for 루프 외에도 while 루프도 제공합니다. </em> <div class="blockcode"><font face="新宋体"><code id="code8">while (<循环条件>) <语句>;</code><br></font></div>은 for 루프보다 간단합니다. while 루프의 기능은 <루프 조건> while 루프의 누적 특성은 for 루프만큼 강력하지 않습니다. <Statement>는 하나의 구문만 가능하지만, 특정 구문을 반복적으로 실행하는 것 외에도 <Loop Condition> 구문에 포함된 변수의 값을 변경해야 하기 때문에 일반적으로 구문 블록을 사용합니다. 이 루프에 들어가면 조건이 항상 충족되기 때문에 루프에 갇혀서 나올 수 없습니다. 이 상황은 우리가 "무한 루프"라고 부르는 데 익숙합니다. 무한 루프는 당시 실행 중인 코드, 다운로드 중인 문서를 중지하고 많은 양의 메모리를 차지하므로 충돌이 발생할 가능성이 높으므로 최대한 피해야 합니다. <br><br><em>중단하고 계속하기</em><br><br>때로는 루프 본문에서 루프에서 즉시 점프하거나 루프 본문의 나머지 코드를 건너뛰고 진행해야 하는 경우가 있습니다. 다음 루프로. 중단하고 계속하면 우리에게 많은 도움이 됩니다. <br><br>break;<br><br>이 문은 루프 본문에 위치하며 루프에서 즉시 점프하는 기능을 합니다. <br><br>continue;<br><br>이 문은 루프 본문에 배치되며 해당 기능은 이 루프를 종료하고 다음 루프를 실행하는 것입니다. 루프의 조건이 더 이상 충족되지 않으면 루프에서 빠져나옵니다. <br><br>예시 <div class="blockcode"> <font face="新宋体"><div class="codetitle"> <span><a style="CURSOR: pointer" data="78682" class="copybut" id="copybut78682" onclick="doCopy('code78682')"><u>코드 복사</u></a></span> 코드는 다음과 같습니다.</div> <div class="codebody" id="code78682"> <br>for (i = 1; i < 10; i ) { <BR>if (i == 3 || i == 5 || i == 8) <BR>document.write(i); 🎜><BR><BR></div>출력: 124679. <BR></FONT></DIV>switch 문 <br><br><EM>일부 데이터를 분류하려는 경우, 예를 들어 학생의 성적을 우수, 좋음, 중간, 나쁨으로 분류하려는 경우 if 문을 사용할 수 있습니다: </EM><br><br><DIV class=blockcode><FONT face=新宋体><div class="codetitle">코드 복사<span><a style="CURSOR: pointer" data="56656" class="copybut" id="copybut56656" onclick="doCopy('code56656')"><U> 코드는 다음과 같습니다.</U></a></span>if (점수 >= 0 && 점수 < 60) { </div>결과 = '실패'; <div class="codebody" id="code56656">} else if(점수 < 80) { <br>결과 = '통과' <br>} else if(점수 < 90 ) { <br>결과 = '좋음'; <br>} else if(점수 <= 100) { <br>결과 = '우수' <br>} else { <br>결과 = '오류'; 🎜>} <br><br><br><br>괜찮아 보이지만 if문을 너무 많이 사용하면 프로그램이 좀 지저분해 보일 수 있습니다. 이 문제를 해결하는 가장 좋은 방법은 switch 문입니다. <br> </div> <code id="code11">스위치 (e) {</code></font> 케이스 r1: (참고: 콜론) </div> ...<div class="blockcode"> [break;]<font face="新宋体"> 케이스 r2:<code id="code11">switch (e) {<br> case r1: (注意:冒号)<br> ...<br> [break;]<br> case r2:<br> ...<br> [break;]<br> ...<br> [default:<br> ...]<br>} </code> ...<br> [break;]</font> ...</div> [기본값:<br> ...]<br>} </code><div class="blockcode"><font face="新宋体"><div class="codetitle">이 긴 단락은 함수는 e(e는 표현식)의 값을 계산한 후 아래 "case" 뒤의 r1, r2...와 비교합니다. e와 같은 값이 발견되면 "case" 뒤의 명령문은 다음과 같습니다. break 문이나 스위치 단락("}")이 끝날 때까지 실행됩니다. e와 일치하는 값이 없으면 "default:" 다음 문이 실행됩니다. 기본 블록이 없으면 스위치 문이 종료됩니다. <span><a style="CURSOR: pointer" data="96177" class="copybut" id="copybut96177" onclick="doCopy('code96177')">위의 if 섹션은 스위치를 사용하여 다시 작성할 수 있습니다. <u></u></a></span> </div>코드 복사 코드는 다음과 같습니다.<div class="codebody" id="code96177"> <br>switch (parseInt(score / 10)) { <br>case 0: <br>case 1: <br>case 2: <br>case 3: <br>case 4: <br>case 5: <br>결과 = '실패'; <br>중단; <br>사례 6: <br>사례 7: <br>결과 = '통과' <br>사례 8: <br>result = 'good'; <br>break; <br>case 9: <br>result = 'excellent'; <br>default: <br>if (점수 == 100) result = 'excellent'; <br>else <br>result = 'error'; <br>}<br><br><br><br>parseInt() 메소드는 나중에 소개될 예정이며 그 기능은 반올림됩니다. . 마지막 기본 섹션에 사용된 if 문은 100개 포인트를 오류로 처리하지 않도록 하기 위한 것입니다(parseInt(100 / 10) == 10).</div></font></div></font></div> </div></font></p>