好记性不如铅笔头

javascript, web, 编程

js基础知识笔记

最近想自学一下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>

 

发表评论

9 + 18 =

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据