@xudongh
2016-07-29T03:28:35.000000Z
字数 17045
阅读 2309
前端开发
JavaScript 是脚本语言
JavaScript 是一种轻量级的编程语言。
JavaScript 是可插入 HTML 页面的编程代码。
JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。
<script> 与 </script> 标签之间。<body> 和 <head> 部分中。<script> 标签中使用 type="text/javascript"。现在已经不必这样做了。JavaScript 是所有现代浏览器以及 HTML5 中的默认脚本语言。<head>中插入JS<head>中插入JS<script src="myScript.js"></script>在 <head> 或 <body> 中引用脚本文件都是可以的。实际运行效果与您在 <script> 标签中编写脚本完全一致。
注意:外部脚本不能包含 <script> 标签。
使用document.getElementById(id)方法来获取指定HTML元素。
<!DOCTYPE html><html><body><h1>My First Web Page</h1><p id="demo">My First Paragraph</p><script>document.getElementById("demo").innerHTML="My First JavaScript";</script></body></html>
以上p标签中显示为“My First JavaScript”。
可直接写HTML标签到文档中输出。
<!DOCTYPE html><html><body><h1>My First Web Page</h1><script>document.write("<p>My First JavaScript</p>");</script></body></html>
注意:请使用 document.write() 仅仅向文档输出写内容。
如果在文档已完成加载后执行 document.write,整个 HTML 页面将被覆盖。
分号用于分隔JavaScript语句。通常在每条可执行的语句结尾添加分号。
JavaScript对大小写敏感。
可以在文本字符串中使用反斜杠对代码行进行换行。下面的例子会正确地显示:
document.write("Hello \World!");
但是不能这样拆行:
document.write \("Hello World!");
单行注释以 // 开头
多行注释以 /* 开始,以 */ 结尾
与代数一样,JavaScript 变量可用于存放值(比如 x=2)和表达式(比如 z=x+y)。
变量可以使用短名称(比如 x 和 y),也可以使用描述性更好的名称(比如 age, sum, totalvolume)。
JavaScript 变量还能保存其他数据类型,比如文本值,即字符串。
当您向变量分配文本值时,应该用双引号或单引号包围这个值。
当您向变量赋的值是数值时,不要使用引号。如果您用引号包围数值,该值会被作为文本来处理。
使用var关键词来声明变量。
//该变量是空的,其值实际为undefinedvar one;//该变量的值为3var two = 3;//在一条语句中声明很多变量,该语句以 var 开头,并使用逗号分隔变量var name="Gates", age=56, job="CEO";
一个好的编程习惯是,在代码开始处,统一对需要的变量进行声明。
如果重新声明JS变量,该变量的值不会丢失。
var carname="Volvo";var carname;//其值依然为"Volvo"
可对JS变量做算数,使用=和+这类运算符。
字符串、数字、布尔、数组、对象、Null、Undefined
字符串是存储字符(比如 "Bill Gates")的变量。
字符串可以是引号中的任意文本,可以使用单引号或双引号。
var carname="Bill Gates";var carname='Bill Gates';//可以在字符串中使用引号,只要不匹配包围字符串的引号即可var answer="He is called 'Bill'";var answer='He is called "Bill"';
极大或极小的数字可以通过科学(指数)计数法来书写
var x1=34.00; //使用小数点来写var x2=34; //不使用小数点来写var y=123e5; // 12300000var z=123e-5; // 0.00123
布尔(逻辑)只能有两个值:true 或 false。
var x=truevar y=false
下面的代码创建名为 cars 的数组:
var cars=new Array();cars[0]="Audi";cars[1]="BMW";cars[2]="Volvo";
对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔。
var person={firstname:"Bill", lastname:"Gates", id:5566};//对象 (person) 有三个属性:firstname、lastname 以及 id。
对象属性有两种寻址方式:
<!DOCTYPE html><html><body><script>//空格和折行无关紧要,声明可横跨多行var person={firstname : "Bill",lastname : "Gates",id : 5566};document.write(person.lastname + "<br />");document.write(person["lastname"] + "<br />");</script></body></html>
Undefined 这个值表示变量不含有值。
可以通过将变量的值设置为 null 来清空变量。
当声明新变量时,可以使用关键词 "new" 来声明其类型:
var carname=new String;var x= new Number;var y= new Boolean;var cars= new Array;var person= new Object;
JavaScript 变量均为对象。当声明一个变量时,就创建了一个新的对象。
在 JavaScript 中,对象是拥有属性和方法的数据。
属性是与对象相关的值,方法是能够在对象上执行的动作。
在 JavaScript 中,对象是数据(变量),拥有属性和方法。
如声明以下 JavaScript 变量时:
var txt = "Hello";
实际上已经创建了一个 JavaScript 字符串对象。字符串对象拥有内建的属性 length。对于上面的字符串来说,length 的值是 5。
属性:
txt.length=5
方法:
txt.indexOf()txt.replace()txt.search()
在面向对象的语言中,属性和方法常被称为对象的成员。
本例创建名为 "person" 的对象,并为其添加了四个属性:
person=new Object();person.firstname="Bill";person.lastname="Gates";person.age=56;person.eyecolor="blue";
访问对象属性的语法是:
objectName.propertyName
使用 String 对象的 length 属性来查找字符串的长度:
var message="Hello World!";var x=message.length;
在以上代码执行后,x 的值是:
12
访问对象属性的方法是:
objectName.propertyName
使用 String 对象的 toUpperCase() 方法来把文本转换为大写:
var message="Hello world!";var x=message.toUpperCase();
在以上代码执行后,x 的值是:
HELLO WORLD!
函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。
函数就是包裹在花括号中的代码块,前面使用了关键词 function:
function functionname(){这里是要执行的代码}
可以在某事件发生时直接调用函数,并且可由 JavaScript 在任何位置进行调用。
**注意:**JavaScript 对大小写敏感。关键词 function 必须是小写的,并且必须以与函数名称相同的大小写来调用函数。
在调用函数时,可以向其传递值,这些值被称为参数。这些参数可以在函数中使用。
myFunction(argument1,argument2) //多个参数由逗号 (,) 分隔
当声明函数时,请把参数作为变量来声明:
function myFunction(var1,var2){这里是要执行的代码}
变量和参数必须以一致的顺序出现。第一个变量就是第一个被传递的参数的给定的值,以此类推。
<!DOCTYPE html><html><body><p>请点击其中的一个按钮,来调用带参数的函数。</p><button onclick="myFunction('Harry Potter','Wizard')">点击这里</button><button onclick="myFunction('Bob','Builder')">点击这里</button><script>function myFunction(name,job){alert("Welcome " + name + ", the " + job);}</script></body></html>
点击的不同的按钮,上面的例子会提示 "Welcome Harry Potter, the Wizard" 或 "Welcome Bob, the Builder"。
使用 return 语句实现。
在使用 return 语句时,函数会停止执行,并返回指定的值。
function myFunction(){var x=5;return x;}
计算两个数字的乘积,并返回结果:
<!DOCTYPE html><html><body><p>本例调用的函数会执行一个计算,然后返回结果:</p><p id="demo"></p><script>function myFunction(a,b){return a*b;}document.getElementById("demo").innerHTML=myFunction(4,3);</script></body></html>
如果仅仅希望退出函数,也可使用 return 语句。返回值是可选的:
function myFunction(a,b){if (a>b){return;}x=a+b}
如果 a 大于 b,则上面的代码将退出函数,并不会计算 a 和 b 的总和。
局部变量:在 JavaScript 函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它。(该变量的作用域是局部的)。
可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。全局变量:在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。
算术运算符用于执行变量与/或值之间的算术运算。
| 运算符 | 描述 |
|---|---|
| + | 加 |
| - | 减 |
| * | 乘 |
| / | 除 |
| % | 求余数(保留整数) |
| ++ | 累加 |
| -- | 递减 |
赋值运算符用于给 JavaScript 变量赋值。
| 运算符 | 例子 | 等价于 |
|---|---|---|
| = | x=y | x=y |
| += | x+=y | x=x+y |
| -= | x-=y | x=x-y |
| *= | x*=y | x=x*y |
| /= | x/=y | x=x/y |
| %= | x%=y | x=x%y |
+运算符用于把文本值或字符串变量加起来(连接起来)。
txt1="What a very";txt2="nice day";txt3=txt1+txt2;txt4=txt1+" "+txt2;
在以上语句执行后,
变量 txt3 包含的值是 "What a verynice day",
变量 txt4 包含的值是 "What a very nice day"。
x=5+5;document.write(x);//输出结果为10x="5"+"5";document.write(x);//输出结果为55x=5+"5";document.write(x);//输出结果为55x="5"+5;document.write(x);//输出结果为55
规则是:如果把数字与字符串相加,结果将成为字符串。
- if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码
- if...else 语句 - 当条件为 true 时执行代码,当条件为 false 时执行其他代码
- if...else if....else 语句 - 使用该语句来选择多个代码块之一来执行
- switch 语句 - 使用该语句来选择多个代码块之一来执行
只有当指定条件为 true 时,该语句才会执行代码。
if (条件){只有当条件为 true 时执行的代码}
注意:请使用小写的 if。使用大写字母(IF)会生成 JavaScript 错误!
请使用 if....else 语句在条件为 true 时执行代码,在条件为 false 时执行其他代码。
if (条件){当条件为 true 时执行的代码}else{当条件不为 true 时执行的代码}
使用 if....else if...else 语句来选择多个代码块之一来执行。
if (条件 1){当条件 1 为 true 时执行的代码}else if (条件 2){当条件 2 为 true 时执行的代码}else{当条件 1 和 条件 2 都不为 true 时执行的代码}
switch 语句用于基于不同的条件来执行不同的动作。
switch(n){case 1:执行代码块 1break;case 2:执行代码块 2break;default:n 与 case 1 和 case 2 不同时执行的代码}
工作原理:首先设置表达式 n(通常是一个变量)。随后表达式的值会与结构中的每个 case 的值做比较。如果存在匹配,则与该 case 关联的代码块会被执行。请使用 break 来阻止代码自动地向下一个 case 运行。
如果一遍又一遍地运行相同的代码,并且每次的值都不同,那么使用循环是很方便的。
如下
document.write(cars[0] + "<br>");document.write(cars[1] + "<br>");document.write(cars[2] + "<br>");document.write(cars[3] + "<br>");document.write(cars[4] + "<br>");document.write(cars[5] + "<br>");
通常会使用循环语句
for (var i=0;i<cars.length;i++){document.write(cars[i] + "<br>");}
- for - 循环代码块一定的次数
- for/in - 循环遍历对象的属性
- while - 当指定的条件为 true 时循环指定的代码块
- do/while - 同样当指定的条件为 true 时循环指定的代码块
for (语句 1; 语句 2; 语句 3){被执行的代码块}//语句 1 在循环(代码块)开始前执行//语句 2 定义运行循环(代码块)的条件//语句 3 在循环(代码块)已被执行之后执行
语句 1
通常会使用语句 1 初始化循环中所用的变量 (var i=0)。
语句 1 是可选的,也就是说不使用语句 1 也可以。
可以在语句 1 中初始化任意(或者多个)值。
同时还可以省略语句 1(比如在循环开始前已经设置了值时):
var i=2,len=cars.length;for (; i<len; i++){document.write(cars[i] + "<br>");}
语句 2
通常语句 2 用于评估初始变量的条件。
语句 2 同样是可选的。
如果语句 2 返回 true,则循环再次开始,如果返回 false,则循环将结束。
提示:如果省略了语句 2,那么必须在循环内提供 break。否则循环就无法停下来。这样有可能令浏览器崩溃。
语句 3
通常语句 3 会增加初始变量的值。
语句 3 也是可选的。
语句 3 有多种用法。增量可以是负数 (i--),或者更大 (i=i+15)。
语句 3 也可以省略(比如当循环内部有相应的代码时):
var i=0,len=cars.length;for (; i<len; ){document.write(cars[i] + "<br>");i++;}
var person={fname:"John",lname:"Doe",age:25};for (x in person){txt=txt + person[x];}
While 循环会在指定条件为真时循环执行代码块。
while (条件){需要执行的代码}
注意:如果忘记增加条件中所用变量的值,该循环永远不会结束。该可能导致浏览器崩溃。
do/while 循环是 while 循环的变体。该循环会执行一次代码块,在检查条件是否为真之前,然后如果条件为真的话,就会重复这个循环。
do{需要执行的代码}while (条件);
该循环至少会执行一次,即使条件是 false,隐藏代码块会在条件被测试前执行
本例中的循环使用 for 循环来显示 cars 数组中的所有值:
cars=["BMW","Volvo","Saab","Ford"];var i=0;for (;cars[i];){document.write(cars[i] + "<br>");i++;}
本例中的循环使用使用 while 循环来显示 cars 数组中的所有值:
cars=["BMW","Volvo","Saab","Ford"];var i=0;while (cars[i]){document.write(cars[i] + "<br>");i++;}
输出结果均为:
BMWVolvoSaabFord
break 语句可用于跳出循环。
break 语句跳出循环后,会继续执行该循环之后的代码(如果有的话):
for (i=0;i<10;i++){if (i==3){break;}// if语句可写成 if (i==3) break;x=x + "The number is " + i + "<br>";}
continue 语句中断循环中的迭代,如果出现了指定的条件,然后继续循环中的下一个迭代。
for (i=0;i<=10;i++){if (i==3) continue;x=x + "The number is " + i + "<br>";}//该循环会跳过 i=3 的步进
可以对 JavaScript 语句进行标记。如需标记 JavaScript 语句,请在语句之前加上冒号:
label:语句
通过标签引用,break 语句可用于跳出任何 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>");}
- try 语句测试代码块的错误。
- catch 语句处理错误。
- throw 语句创建自定义错误。
try 语句允许我们定义在执行时进行错误测试的代码块。
catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块。
JavaScript 语句 try 和 catch 是成对出现的。
try{//在这里运行代码}catch(err){//在这里处理错误}
在下面的例子中,故意在 try 块的代码中写了一个错字(adddlert)。
catch 块会捕捉到 try 块中的错误,并执行代码来处理它。
var txt="";function message(){try{adddlert("Welcome guest!");}catch(err){txt="There was an error on this page.\n\n";txt+="Error description: " + err.message + "\n\n";txt+="Click OK to continue.\n\n";alert(txt);}}
throw 语句允许我们创建自定义错误。
正确的技术术语是:创建或抛出异常(exception)。
如果把 throw 与 try 和 catch 一起使用,那么我们能够控制程序流,并生成自定义的错误消息。catch 会捕捉到这个错误,并显示一段自定义的错误消息。
<!DOCTYPE html><html><body><script>function myFunction(){try{var x=document.getElementById("demo").value;if(x=="") throw "值为空";if(isNaN(x)) throw "不是数字";if(x>10) throw "太大";if(x<5) throw "太小";}catch(err){var y=document.getElementById("mess");y.innerHTML="错误:" + err + "。";}}</script><h1>我的第一个 JavaScript 程序</h1><p>请输入 5 到 10 之间的数字:</p><input id="demo" type="text"><button type="button" onclick="myFunction()">测试输入值</button><p id="mess"></p></body></html>
JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证。
被 JavaScript 验证的这些典型的表单数据有:
下面的函数用来检查用户是否已填写表单中的必填(或必选)项目。假如必填或必选项为空,那么警告框会弹出,并且函数的返回值为 false,否则函数的返回值则为 true(意味着数据没有问题):
function validate_required(field,alerttxt){with (field){if (value==null||value==""){alert(alerttxt);return false}else {return true}}}
下面的函数检查输入的数据是否符合电子邮件地址的基本语法。
意思就是说,输入的数据必须包含 @ 符号和点号(.)。同时,@ 不可以是邮件地址的首字符,并且 @ 之后需有至少一个点号:
function validate_email(field,alerttxt){with (field){apos=value.indexOf("@")dotpos=value.lastIndexOf(".")if (apos<1||dotpos-apos<2){alert(alerttxt);return false}else {return true}}}
DOM(Document Object Model):文档对象模型。
当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。
HTML DOM 模型被构造为对象的树。
HTML DOM 树:
通过可编程的对象模型,JavaScript 获得了足够的能力来创建动态的 HTML。
在 DOM 中查找 HTML 元素的最简单的方法,是通过使用元素的 id。
var x=document.getElementById("intro");
本例查找 id="main" 的元素,然后查找 "main" 中的所有 <p> 元素:
var x=document.getElementById("main");var y=x.getElementsByTagName("p");
注意:通过类名查找 HTML 元素在 IE 5,6,7,8 中无效。
JavaScript 能够创建动态的 HTML 内容。
在 JavaScript 中,document.write() 可用于直接向 HTML 输出流写内容。
document.write()
注意:不要使用在文档加载之后使用 document.write()。这会覆盖该文档。
修改 HTML 内容的最简单的方法时使用 innerHTML 属性。
document.getElementById(id).innerHTML=new HTML
使用以下语法
document.getElementById(id).attribute=new value
<!DOCTYPE html><html><body><img id="image" src="smiley.gif"><script>document.getElementById("image").src="landscape.jpg";</script></body></html>
使用以下语法
document.getElementById(id).style.property=new style
如
document.getElementById("p2").style.color="blue";
HTML DOM 使 JavaScript 有能力对 HTML 事件做出反应。
我们可以在事件发生时执行 JavaScript,比如当用户在 HTML 元素上点击时。
HTML 事件的例子:
如下,当用户在 <h1> 元素上点击时,会改变其内容:
<!DOCTYPE html><html><body><h1 onclick="this.innerHTML='谢谢!'">请点击该文本</h1></body></html>
或如下
<!DOCTYPE html><html><head><script>function changetext(id){id.innerHTML="谢谢!";}</script></head><body><h1 onclick="changetext(this)">请点击该文本</h1></body></html>
如需向 HTML 元素分配事件,可使用事件属性。
如向 button 元素分配 onclick 事件:
<!DOCTYPE html><html><body><button onclick="displayDate()">显示当前时间</button><script>function displayDate(){document.getElementById("demo").innerHTML=Date();}</script><p id="demo"></p></body></html>
使用 JavaScript 来向 HTML 元素分配事件:
<!DOCTYPE html><html><head></head><body><button id="myBtn">显示当前时间</button><script>document.getElementById("myBtn").onclick=function(){displayDate()};function displayDate(){document.getElementById("demo").innerHTML=Date();}</script><p id="demo"></p></body></html>
onload 和 onunload 事件会在用户进入或离开页面时被触发。
onload 事件可用于检测访问者的浏览器类型和浏览器版本,并基于这些信息来加载网页的正确版本。
onload 和 onunload 事件可用于处理 cookie。
<body onload="checkCookies()">
onchange 事件常结合对输入字段的验证来使用。
http://www.w3school.com.cn/tiy/t.asp?f=js_dom_event_onchange
onmouseover 和 onmouseout 事件可用于在用户的鼠标移至 HTML 元素上方或移出元素时触发函数。
<!DOCTYPE html><html><body><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></body></html>
onmousedown, onmouseup 以及 onclick 构成了鼠标点击事件的所有部分。
首先当点击鼠标按钮时,会触发 onmousedown 事件,
当释放鼠标按钮时,会触发 onmouseup 事件,
最后,当完成鼠标点击时,会触发 onclick 事件。
如需向 HTML DOM 添加新元素,必须首先创建该元素(元素节点),然后向一个已存在的元素追加该元素。
<!DOCTYPE html><html><body><div id="div1"><p id="p1">这是一个段落。</p><p id="p2">这是另一个段落。</p></div><script>var para=document.createElement("p"); //创建新的p元素var node=document.createTextNode("这是新段落。"); //创建文本节点para.appendChild(node); //向p元素追加这个文本节点var element=document.getElementById("div1"); //找到一个已有的元素element.appendChild(para); //向这个已有的元素追加新元素</script></body></html>
输出结果为
这是一个段落。这是另一个段落。这是新段落。
如需删除 HTML 元素,必须首先获得该元素的父元素。
<!DOCTYPE html><html><body><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></body></html>
找到希望删除的子元素,然后使用其 parentNode 属性来找到父元素,可以在不引用父元素的情况下删除某个元素:
var child=document.getElementById("p1");child.parentNode.removeChild(child);
JavaScript 中的所有事物都是对象:字符串、数值、数组、函数...
此外,JavaScript 允许自定义对象。
属性是与对象相关的值。
objectName.propertyName
使用 String 对象的 length 属性来获得字符串的长度:
var message="Hello World!";var x=message.length;
方法是能够在对象上执行的动作。
objectName.methodName()
使用 String 对象的 toUpperCase() 方法来将文本转换为大写:
var message="Hello world!";var x=message.toUpperCase();
创建新对象有两种不同的方法:
1. 定义并创建对象的实例
2. 使用函数来定义对象,然后创建新的对象实例
这个例子创建了对象的一个新实例,并向其添加了四个属性:
person=new Object();person.firstname="Bill";person.lastname="Gates";person.age=56;person.eyecolor="blue";
替代语法(使用对象 literals):
person={firstname:"Bill",lastname:"gates",age:56,eyecolor:"blue"}
使用函数来构造对象:
function person(firstname,lastname,age,eyecolor){this.firstname=firstname;this.lastname=lastname;this.age=age;this.eyecolor=eyecolor;}
function person(firstname,lastname,age,eyecolor){this.firstname=firstname;this.lastname=lastname;this.age=age;this.eyecolor=eyecolor;this.changeName=changeName;function changeName(name){this.lastname=name;}}
JavaScript 只有一种数字类型。
可以使用也可以不使用小数点来书写数字。
var pi=3.14; // 使用小数点var x=34; // 不使用小数点var y=123e5; // 12300000var z=123e-5; // 0.00123
JavaScript 中的所有数字都存储为根为 10 的 64 位(8 比特),浮点数。
整数(不使用小数点或指数计数法)最多为 15 位。
小数的最大位数是 17,但是浮点运算并不总是 100% 准确。
如果前缀为 0,则 JavaScript 会把数值常量解释为八进制数,如果前缀为 0 和 "x",则解释为十六进制数。
var y=0377;var z=0xFF;
var txt="Hello World!"document.write(txt.length)
var txt="Hello World!"document.write("<p>Big: " + txt.big() + "</p>")document.write("<p>Small: " + txt.small() + "</p>")document.write("<p>Bold: " + txt.bold() + "</p>")document.write("<p>Italic: " + txt.italics() + "</p>")document.write("<p>Fontcolor: " + txt.fontcolor("Red") + "</p>")document.write("<p>Fontsize: " + txt.fontsize(16) + "</p>")document.write("<p>Link: " + txt.link("http://www.w3school.com.cn") + "</p>")
var str="Visit Microsoft!"document.write(str.replace(/Microsoft/,"Google"))
输出结果为
Visit Google!
可以通过 new 关键词来定义 Date 对象。以下代码定义了名为 myDate 的 Date 对象:
var myDate=new Date()
注释:Date 对象自动使用当前的日期和时间作为其初始值。
在下面的例子中,为日期对象设置了一个特定的日期 (2008 年 8 月 9 日):
var myDate=new Date()myDate.setFullYear(2008,7,9)
注意:表示月份的参数介于 0 到 11 之间。也就是说,如果希望把月设置为 8 月,则参数应该是 7。
在下面的例子中,将日期对象设置为 5 天后的日期:
var myDate=new Date()myDate.setDate(myDate.getDate()+5)
注意:如果增加天数会改变月份或者年份,那么日期对象会自动完成这种转换。
日期对象也可用于比较两个日期。
var myDate=new Date();myDate.setFullYear(2008,8,9);var today = new Date();if (myDate>today){alert("Today is before 9th August 2008");}else{alert("Today is after 9th August 2008");}
数组对象的作用是:使用单独的变量名来存储一系列的值。
使用关键词 new 来创建数组对象。
下面的代码定义了一个名为 myArray 的数组对象:
var myArray=new Array()
以下方法,可添加任意多的值,就像可定义需要的任意多的变量一样。
var mycars=new Array()mycars[0]="Saab"mycars[1]="Volvo"mycars[2]="BMW"
以下方法,可使用一个整数自变量来控制数组的容量。
var mycars=new Array(3)mycars[0]="Saab"mycars[1]="Volvo"mycars[2]="BMW"
也可以这样定义数组:
var mycars=new Array("Saab","Volvo","BMW")
通过指定数组名以及索引号码,你可以访问某个特定的元素。
document.write(mycars[2])
如需修改已有数组中的值,只要向指定索引号码添加一个新值即可。
mycars[0]="Opel";
Boolean(逻辑)对象用于将非逻辑值转换为逻辑值(true 或者 false)。
使用关键词 new 来定义 Boolean 对象。
下面的代码定义了一个名为 myBoolean 的逻辑对象:
var myBoolean=new Boolean()
注释:如果逻辑对象无初始值或者其值为 0、-0、null、""、false、undefined 或者 NaN,那么对象的值为 false。否则,其值为 true(即使当自变量为字符串 "false" 时)
Math(算数)对象的作用是:执行常见的算数任务。
JavaScript 提供 8 种可被 Math 对象访问的算数值.
- 常数
- 圆周率
- 2 的平方根
- 1/2 的平方根
- 2 的自然对数
- 10 的自然对数
- 以 2 为底的 e 的对数
- 以 10 为底的 e 的对数
这是在 Javascript 中使用这些值的方法。(与上面的算数值一一对应)
- Math.E
- Math.PI
- Math.SQRT2
- Math.SQRT1_2
- Math.LN2
- Math.LN10
- Math.LOG2E
- Math.LOG10E
除了可被 Math 对象访问的算数值以外,还有几个函数(方法)可以使用。
下面的例子使用了 Math 对象的 round 方法对一个数进行四舍五入。
document.write(Math.round(4.7))
下面的例子使用了 Math 对象的 random() 方法来返回一个介于 0 和 1 之间的随机数。
document.write(Math.random())
下面的例子使用了 Math 对象的 max()和min() 方法来返回两个数中的最大数和最小数。
document.write(Math.max(5,7))document.write(Math.min(-3,5))