@xudongh
2016-07-29T11:28:35.000000Z
字数 17045
阅读 2106
前端开发
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关键词来声明变量。
//该变量是空的,其值实际为undefined
var one;
//该变量的值为3
var 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; // 12300000
var z=123e-5; // 0.00123
布尔(逻辑)只能有两个值:true 或 false。
var x=true
var 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);
//输出结果为10
x="5"+"5";
document.write(x);
//输出结果为55
x=5+"5";
document.write(x);
//输出结果为55
x="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:
执行代码块 1
break;
case 2:
执行代码块 2
break;
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++;
}
输出结果均为:
BMW
Volvo
Saab
Ford
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; // 12300000
var 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))