JavaScript 是世界上最流行的编程语言





JavaScript 是脚本语言


 


HTML 中的脚本必须位于 <script> 与 </script> 标签之间


脚本可被放置在 HTML 页面的 <body> 和 <head> 部分中


 


写入 HTML 输出


<script>


document.write("<h1>This is a heading</h1>");


document.write("<p>This is a paragraph.</p>");


</script>


 


改变 HTML 内容


x=document.getElementById("demo"); //查找元素


x.innerHTML="Hello JavaScript"; //改变内容


改变图片 match()是匹配方法


<img id="myimage" onclick="changeImage()" src="/i/eg_bulbon.gif">


element=document.getElementById('myimage');


if (element.src.match("bulbon"))//图片名字是否包含bulbon字符串


{


element.src="/i/eg_bulboff.gif";


}


 


 


 


改变 HTML 样式


x=document.getElementById("demo");//找到元素


x.style.color="#ff0000"; //改变样式


 


document.getElementById(id).style.property=new style;


document.getElementById("p2").style.color="blue";


document.getElementById('p1').style.visibility='hidden';


document.getElementById('p1').style.visibility='visible';


 


本例查找 id="main" 的元素,然后查找 "main" 中的所有 <p> 元素:


通过类名查找 HTML 元素在 IE 5,6,7,8 中无效。


<div id="main">


<p>The DOM is very useful.</p>


<p>本例演示 <b>getElementsByTagName</b> 方法。</p>


</div>


<script>


var x=document.getElementById("main");


var y=x.getElementsByTagName("p");


document.write('id 为 "main" 的 div 中的第一段文本是:' + y[0].innerHTML);


</script>


 


<img id="image" src="smiley.gif">


<script>


document.getElementById("image").src="landscape.jpg";


</script>


 


 


 


验证输入


数字验证 isNaN(x)


E-mail 验证


输入的数据必须包含 @ 符号和点号(.)


同时,@ 不可以是邮件地址的首字符,并且 @ 之后需有至少一个点号


apos=value.indexOf("@")


dotpos=value.lastIndexOf(".")


if (apos<1||dotpos-apos<2)


{alert(alerttxt);return false}


else {return true}


 


 


外部的 JavaScript


<script> 标签的 "src" 属性中设置该 .js 文件


<head>标签中如下引入


<script type="text/javascript" src="../js/myScript.js"></script>


 


在.js文件中 不能包含 <script> 标签 直接定义方法,不用写其他东西


1.0 javascript基础_全局变量

 

 


JavaScript 对大小写敏感


 


对代码行进行折行 用于展示过长字符串 输出仍是 Hellow Word!


document.write("Hello \


World!");


 

js定义变量

一条语句,多个变量


var name="Gates", age=56, job="CEO";


横跨多行


var name="Gates",


age=56,


job="CEO";


 


声明新变量时,可以使用关键词 "new" 来声明类型:


JavaScript 变量均为对象,当声明一个变量时,就创建了一个新的对象


var carname=new String;


var x= new Number;


var y= new Boolean;


var cars= new Array;


var person= new Object;


 


js数据类型 字符串、数字、布尔、数组、对象、Null、Undefined


 


字符串


var answer="Nice to meet you!";


var answer="He is called 'Bill'";


var answer='He is called "Bill"';


小数


var x1=34.00; //使用小数点来写


var x2=34; //不使用小数点来写


boolean


var x=true


var y=false


数组 使用()或[]来定义 常见三种方式


var cars=new Array();


cars[0]="Audi";


cars[1]="BMW";


cars[2]="Volvo";


var cars=new Array("Audi","BMW","Volvo");


var cars=["Audi","BMW","Volvo"];


遍历数组


cars=["BMW","Volvo","Saab","Ford"];


var i=0;


for (;cars[i];)


{


document.write(cars[i] + "<br>");


i++;


}


对象 使用{}来定义 常见三种方式


var person={firstname:"Bill", lastname:"Gates", id:5566};


 


var person={


firstname : "Bill",


lastname : "Gates",


id : 5566


};


 


person=new Object();


person.firstname="Bill";


person.lastname="Gates";


person.age=56;


person.eyecolor="blue";


获取对象属性


name=person.lastname; 或者


name=person["lastname"];


for/in 遍历对象


var person={fname:"John",lname:"Doe",age:25};


for (x in person)


{


txt=txt + person[x];


}

访问对象的方法objectName.methodName()


var message="Hello world!";


var x=message.toUpperCase();


函数


function myFunction(a,b)


{


return a*b;


}


document.getElementById("demo").innerHTML=myFunction(4,3);

 

 


局部 JavaScript变量


在 JavaScript 函数内部声明的变量(使用 var)是局部变量,只能在函数内部访问它。(该变量的作用域是局部的)。


可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。


只要函数运行完毕,本地变量就会被删除。


全局 JavaScript 变量


在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。


JavaScript 变量的生存期


JavaScript 变量的生命期从它们被声明的时间开始。


注:局部变量会在函数运行以后被删除。全局变量会在页面关闭后被删除


 


switch()方法 switch 语句来选择要执行的多个代码块之一


default 关键词来规定匹配不存在时做的事情


var day=new Date().getDay();


switch (day)


{


case 6:


x="Today it's Saturday";


break;


case 0:


x="Today it's Sunday";


break;


default:


x="Looking forward to the Weekend";


}


 


JavaScript 捕捉错误 Throw、Try 和 Catch


try


{


//在这里运行代码


}


catch(err)


{


alert(err.message)//在这里处理错误


}


 


throw 与 try 和 catch 一起使用能够控制程序流,并生成自定义的错误消息。


<script>


try


{


var x=document.getElementById("demo").value;


if(x=="") throw "empty";


if(isNaN(x)) throw "not a number";


if(x>10) throw "too high";


if(x<5) throw "too low";


}


catch(err)


{


var y=document.getElementById("mess");


y.innerHTML="Error: " + err + ".";


}


</script>


 


添加和删除节点(HTML 元素)


var para=document.createElement("p");


var node=document.createTextNode("这是新段落。");


para.appendChild(node);


 


<div id="div1">


<p id="p1">这是一个段落</p>


<p id="p2">这是另一个段落</p>


</div>


<script>


var para=document.createElement("p");


var node=document.createTextNode("这是新段落。");


para.appendChild(node);


var element=document.getElementById("div1");


element.appendChild(para);


</script>


 


删除已有的 HTML 元素


如需删除 HTML 元素,您必须首先获得该元素的父元素


<div id="div1">


<p id="p1">这是一个段落。</p>


<p id="p2">这是另一个段落。</p>


</div>


<script>


var parent=document.getElementById("div1");


var child=document.getElementById("p1");


parent.removeChild(child);


</script>


 


提示:DOM 需要知道删除的元素以及它的父元素,不能直接删除


parent.removeChild(child);√removeChild(child)×


解决方案:找到希望删除的子元素,然后使用其 parentNode 属性来找到父元素:


var child=document.getElementById("p1");


child.parentNode.removeChild(child);


 


js事件


onclick事件


onload 事件


onload 当页面完成加载时的事件。


onunload 事件


onfocus 当输入字段获得焦点时的事件。


onchange 事件


<input type="text" id="fname" onchange="upperCase()">


onmouseover 和 onmouseout 事件


<div onmouseover="mOver(this)" onmouseout="mOut(this)" style="background-color:green;width:120px;height:20px;padding:40px;color:#ffffff;">把鼠标移到上面</div>


<script>


function mOver(obj)


{


obj.innerHTML="谢谢"


}


function mOut(obj)


{


obj.innerHTML="把鼠标移到上面"


}


</script>


onmousedown、onmouseup 以及 onclick 事件


onmousedown, onmouseup 以及 onclick 构成了鼠标点击事件的所有部分


 


使用 JavaScript 来向 HTML 元素分配事件


<script>


document.getElementById("myBtn").onclick=function(){displayDate()};


</script>