最近想自学一下web开发中需要的各种基础知识,就开始在【 W3school 】上学习各种教程,这里备注下最基本的js笔记。
备注:
部分笔记内容来自【 W3school 】网站,版权归原作者所有。
CONTENTS
js基础知识
javascript的介绍:
JavaScript 是脚本语言
JavaScript 是一种轻量级的编程语言。
JavaScript 是可插入 HTML 页面的编程代码。
JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。
js的使用:
HTML 中的脚本必须位于 <script> 与 </script> 标签之间。脚本可被放置在 HTML 页面的 <body> 和 <head> 部分中,或者同时存在于两个部分中。通常的做法是把函数放入 <head> 部分中,或者放在页面底部。这样就可以把它们安置到同一处位置,不会干扰页面的内容。
<script> 标签:
如需在 HTML 页面中插入 JavaScript,请使用 <script> 标签。
<script> 和 </script> 会告诉 JavaScript 在何处开始和结束。
<script> 和 </script> 之间的代码行包含了 JavaScript:
<script> alert("My First JavaScript"); </script>
那些老旧的实例可能会在 <script> 标签中使用 type=”text/javascript”。现在已经不必这样做了。JavaScript 是所有现代浏览器以及 HTML5 中的默认脚本语言。
外部的 JavaScript:
也可以把脚本保存到外部文件中。外部文件通常包含被多个网页使用的代码。
外部 JavaScript 文件的文件扩展名是 .js。
如需使用外部文件,请在 <script> 标签的 “src” 属性中设置该 .js 文件:
<script src="myScript.js"></script>
js语句:
JavaScript 语句通过代码块的形式进行组合。块由左花括号开始,由右花括号结束。
JavaScript 会忽略多余的空格。
JavaScript 对大小写敏感。
单行注释以 // 开头。
分号用于分隔 JavaScript 语句。
通常我们在每条可执行的语句结尾添加分号。
在 JavaScript 中,用分号来结束语句是可选的。
js变量:
与代数一样,JavaScript 变量可用于存放值(比如 x=2)和表达式(比如 z=x+y)。
变量必须以字母开头,变量也能以 $ 和 _ 符号开头(不过我们不推荐这么做)
变量名称对大小写敏感(y 和 Y 是不同的变量)
当您向变量分配文本值时,应该用双引号或单引号包围这个值。
当您向变量赋的值是数值时,不要使用引号。如果您用引号包围数值,该值会被作为文本来处理。
局部 JavaScript 变量
在 JavaScript 函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它。(该变量的作用域是局部的)。
您可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。
只要函数运行完毕,本地变量就会被删除。
全局 JavaScript 变量
在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。
全局变量会在页面关闭后被删除。
js函数:
函数就是包裹在花括号中的代码块,前面使用了关键词 function:
function functionname() { 。。。 }
JavaScript 对大小写敏感。关键词 function 必须是小写的,并且必须以与函数名称相同的大小写来调用函数。
在调用函数时,可以向其传递值,这些值被称为参数,可以发送任意多的参数,由逗号 (,) 分隔。
JavaScript 标签:
如需标记 JavaScript 语句,请在语句之前加上冒号:
label:
语句
break 和 continue 语句仅仅是能够跳出代码块的语句。
语法
break labelname;
continue labelname;
通过标签引用,break 语句可用于跳出任何 JavaScript 代码块:
cars=["BMW","Volvo","Saab","Ford"]; list: { document.write(cars[0] + "<br>"); break list; document.write(cars[1] + "<br>"); }
js表单验证:
参考【 http://www.w3school.com.cn/js/js_form_validation.asp 】
例子:
<!DOCTYPE html> <html> <body> <!-- 最基本的 js --> <script type="text/javascript"> document.write("<h1>Hello JS </h1>"); // 单行注释 /* 多行注释 */ </script> <!-- 快捷alert --> <button type="button" onclick="alert('Welcome!')">点击这里</button> <br/> <!-- 函数,动态更改内容 --> <button id="question" type="button" onclick="addfunc()">1+1=?</button> <script type="text/javascript"> function addfunc() { x = document.getElementById("question"); x.innerHTML = "1+1=2"; } </script> <br/> <!-- 数字检测 --> <input type="text" id="numberinput"/> <button type="button" onclick="numbertest()">数字检测</button> <script type="text/javascript"> function numbertest() { var number = document.getElementById("numberinput").value; if (number == "" || isNaN(number)) { alert("Wrong Number Input"); } } </script> <br/> <!-- 载入时更改 --> <button id="loadX" type="button">this is before</button> <script type="text/javascript"> x = document.getElementById("loadX"); x.innerHTML = "this is after"; </script> <!-- 变量 --> <script type="text/javascript"> var x = 3; var x = 4;//可以重复定义 document.write("<br />x =" + x); var y = 3.14; var z = "3.14";//双引号 var m = 'abcd';//单引号 var a=1, b=2, c=3; var b = true; var cars=new Array(); cars[0]="Audi"; cars[1]="BMW"; cars[2]="Volvo"; cars=new Array("Audi","BMW","Volvo"); cars=["Audi","BMW","Volvo"]; cars = null; var unknown; </script> <!-- 对象 --> <script type="text/javascript"> var person = {firstname:"AA", lastname:"BB"}; person=new Object(); person.firstname="Bill"; person.lastname="Gates"; person.age=56; person.eyecolor="blue"; document.write("<br />"); document.write(person.firstname + " is " + person.age + " years old."); </script> <!-- 函数 --> <script type="text/javascript"> function paramfunc(name, age) { document.write("<br />" + name + " is " + age + "years old"); } paramfunc("xiaoming", 10); </script> <!-- 函数 --> <script type="text/javascript"> function returnvalue(x,y) { return x+y; } document.write("<br />1+2=" + returnvalue(1,2)); </script> <!-- 变量作用域 --> <script type="text/javascript"> function testglobal() { thisisglobal = 1; } // 错误 // document.write("<br />thisisglobal = " + thisisglobal); </script> <!-- 函数 --> <script type="text/javascript"> var time=new Date().getHours(); if (time<20) { x="Good day"; } else { x="Good evening"; } switch (time) { case 10: x = 10; break; default: x = 100; } x = 0; for (i = 0; i < 10; i++) { x += i; } var person={fname:"John",lname:"Doe",age:25}; txt = ""; for (x in person) { txt=txt + person[x]; } x = 10; while (x > 0) { x--; } x = 10; do { x--; }while ( x > 0); </script> <!-- 标签 --> <script type="text/javascript"> cars=["BMW","Volvo","Saab","Ford"]; list: { document.write(cars[0] + "<br>"); document.write(cars[1] + "<br>"); document.write(cars[2] + "<br>"); break list; document.write(cars[3] + "<br>"); document.write(cars[4] + "<br>"); document.write(cars[5] + "<br>"); } </script> <!-- try catch --> <script type="text/javascript"> try { dfsadfsdf } catch(err) { txt="Error description: " + err.message + "\n\n"; document.write("<br />" + txt) } try { throw "My Error"; } catch(err) { txt="Error description: " + err + "\n\n"; document.write("<br />" + txt) } </script> <!-- 通过 id 查找 HTML 元素 --> <p id="intro">Hello World!</p> <script type="text/javascript"> var x = document.getElementById("intro"); x.innerHTML = "This Is getElementById"; </script> <!-- 通过 name 查找 HTML 元素,且 name 处于div一级内部 --> <p>Hello World!</p> <div id="main"> <p>The DOM is very useful.</p> <p>本例演示 <b>getElementsByTagName</b> 方法。</p> </div> <script> var x=document.getElementById("main");//先获取main var y=x.getElementsByTagName("p"); document.write('id 为 "main" 的 div 中的第一段文本是:' + y[0].innerHTML); </script> <!-- js引用 --> <script type="text/javascript"> person = new Object(); person.age = 10; person.name = "xiaoming"; person = null; person = {age:10, name:"xiaoli"}; </script> <!-- 通过JS来更改事件函数 --> <p>点击按钮来执行 <b>displayDate()</b> 函数。</p> <button id="myBtn">试一试</button> <p id="demo"></p> <script> //非常重要 document.getElementById("myBtn").onclick=function(){displayDate()}; function displayDate() { document.getElementById("demo").innerHTML=Date(); } </script> <!-- 定时器 --> <script type="text/javascript"> var c=0 var t function timedCount() { document.getElementById('txt').value=c c=c+1 t=setTimeout("timedCount()",1000) } function stopCount() { c=0; setTimeout("document.getElementById('txt').value=0",0); clearTimeout(t); } </script> <form> <input type="button" value="开始计时!" onClick="timedCount()"> <input type="text" id="txt"> <input type="button" value="停止计时!" onClick="stopCount()"> </form> </body> </html>
发表评论