JavaScript 基础知识
JavaScript 是属于网络的脚本语言!
JavaScript 被数百万计的网页用来改进设计、验证表单、检测浏览器、创建cookies,以及更多的应用。
JavaScript 是因特网上最流行的脚本语言。
JavaScript 很容易使用!你一定会喜欢它的!
在数百万张页面中,JavaScript 被用来改进设计、验证表单、检测浏览器、创建cookies,等等等等。JavaScript 是因特网上最流行的脚本语言,并且可在所有主要的浏览器中运行,比方说Internet Explorer、Mozilla、Firefox、Netscape、和Opera。
什么是JavaScript?
?JavaScript 被设计用来向HTML 页面添加交互行为。
?JavaScript 是一种脚本语言(脚本语言是一种轻量级的编程语言)。
?JavaScript 由数行可执行计算机代码组成。
?JavaScript 通常被直接嵌入HTML 页面。
?JavaScript 是一种解释性语言(就是说,代码执行不进行预编译)。
?所有的人无需购买许可证均可使用JavaScript。
JavaScript 能做什么?
JavaScript 为HTML 设计师提供了一种编程工具
HTML 创作者往往都不是程序员,但是JavaScript 却是一种只拥有极其简单的语法的脚本语言!几乎每个人都有能力将短小的代码片断放入他们的HTML 页面当
中。
JavaScript 可以将动态的文本放入HTML 页面
类似于这样的一段JavaScript 声明可以将一段可变的文本放入HTML 页面:
document.write("
JavaScript 可以对事件作出响应
可以将JavaScript 设置为当某事件发生时才会被执行,例如页面载入完成或者当用户点击某个HTML 元素时。
JavaScript 可以读写HTML 元素
JavaScript 可以读取及改变HTML 元素的内容。
JavaScript 可被用来验证数据
在数据被提交到服务器之前,JavaScript 可被用来验证这些数据。
JavaScript 可被用来检测访问者的浏览器
JavaScript 可被用来检测访问者的浏览器,并根据所检测到的浏览器,为这个浏
览器载入相应的页面。
JavaScript 可被用来创建cookies
JavaScript 可被用来存储和取回位于访问者的计算机中的信息。
真实的名称是ECMAScript
JavaScript 的正式名称是"ECMAScript"。这个标准由ECMA 组织发展和维护。ECMA-262 是正式的JavaScript 标准。这个标准基于JavaScript (Netscape) 和JScript (Microsoft)。Netscape (Navigator 2.0) 的Brendan Eich 发明了这门语言,从1996 年开始,已经出现在所有的Netscape 和Microsoft 浏览器中。ECMA-262 的开发始于1996 年,在1997 年7 月,ECMA 会员大会采纳了它的首个版本。在1998 年,该标准成为了国际ISO 标准(ISO/IEC 16262)。这个标准仍然处于发展之中。
HTML 的
方式二:
如何与老的浏览器打交道
那些不支持JavaScript 的浏览器会把脚本作为页面的内容来显示。为了防止这种情况发生,我们可以使用这样的HTML 注释标签:
注释行末尾的两个正斜杠是JavaScript 的注释符号,它会阻止JavaScript 编译器对这一行的编译。
当页面载入时,会执行位于body 部分的JavaScript。当被调用时,位于head 部分的JavaScript 才会被执行。
你可以在文档中放置任何数量的脚本,因此你既可以把脚本放置到body,又可以放置到head 部分。
需要注意的是:
在一个HTML文档中,所有位置的脚本代码,包括引入的外部js代码,他们都将成为一个整体。你可以把他们想象成在一个类中。因此,有时来自不同文件的重名方法或重名变量,会导致意想不到的错误发生。
JavaScript 是由浏览器执行的语句序列。这些命令的作用是告诉浏览器要做的事情。通常要在每行语句的结尾加上一个分号。大多数人都认为这是一个好的编程习惯,而且在web 上的JavaScript 案例中也常常会看到这种情况。
分号是可选的(根据JavaScript 标准),浏览器把行末作为语句的结尾。正因如此,常常会看到一些结尾没有分号的例子。通过使用分号,可以在一行中写多条语句。
JavaScript 变量名称的规则:
?应该起一些具有意义的,描述性的,让人望文生义的变量名
?变量对大小写敏感(y 和Y 是两个不同的变量)【JavaScript 对大小写敏感】?变量必须以字母或下划线开始
?变量名不能使用系统的关键字或保留字
JavaScript 变量的类型:
JavaScript 是一种弱类型的语言,因此变量的类型由赋值号右边的数据所决定。
算术运算符:+ –* / % ++ -- ,其中+号还被重载用于拼接字符串,另外,任何类型+上字符串都是字符串。
赋值运算符:= += -= *= /= %=
比较运算符:== === != > < >= <=
逻辑运算符:&& || !
条件运算符:?:
传统的if 。。else,if 。。else if 。。else 的嵌套都是可行的。
switch(n)中的n 可以是表达式,但通常是变量,case 结构中也需要使用break 分隔。
可以在JavaScript 中创建三种消息框:警告框、确认框、提示框。
警告框经常用于确保用户可以得到某些信息。当警告框出现后,用户需要点击确定按钮才能继续进行操作。
alert("文本")
确认框用于使用户可以验证或者接受某些信息。当确认框出现后,用户需要点击确定或者取消按钮才能继续进行操作。如果用户点击确认,那么返回值为true。如果用户点击取消,那么返回值为false。
confirm("文本")
提示框经常用于提示用户在进入页面前输入某个值。当提示框出现后,用户需要输入某个值,然后点击确认或取消按钮才能继续操纵。如果用户点击确认,那么返回值为输入的值。如果用户点击取消,那么返回值为null。
prompt("文本","默认值")
将脚本编写为函数,就可以避免页面载入时执行该脚本。函数包含着一些代码,这些代码只能被事件激活,或者在函数被调用时才会执行。你可以在页面中的任何位置调用脚本(如果函数嵌入一个外部的 .js 文件,那么甚至可以从其他的页面中调用)。
建议将函数在页面起始位置定义,即
部分。创建函数的语法:
function 函数名() { 代码...}
function 函数名(var1,var2,...,varX) { 代码...}
JavaScript 变量的生存期
当您在函数内声明了一个变量后,就只能在该函数中访问该变量。当退出该函数后,这个变量会被撤销。这种变量称为本地变量。您可以在不同的函数中使用名称相同的本地变量,这是因为只有声明过变量的函数能够识别其中的每个变量。
如果您在函数之外声明了一个变量,则页面上的所有函数都可以访问该变量。这些变量的生存期从声明它们之后开始,在页面关闭时结束。
在编写代码时,你常常希望反复执行同一段代码。我们可以使用循环来完成这个功能,这样就用不着重复地写若干行相同的代码。
JavaScript 有两种(也只有2种)不同种类的循环:
for
将一段代码循环执行指定的次数
while
当指定的条件为true 时循环执行代码
语法格式和java或.NET是一样的。
使用什么语句可以直接跳出多重循环?
continue 语句可以在符合一定的条件下结束本轮循环,直接进行下一轮循环。
break 语句可以在符合一定的条件下直接结束循环,代码会跳转到循环外靠后的最近一条语句继续向下执行。
在 .NET 中,goto 语句可以直接定位到指定的标记为继续执行代码,而javascript 中是没有goto 语句的,那么怎么直接跳出多重循环呢?
看下面的示例:
outerloop: // 命名外圈语句
for(var i=0; i<10; i++)
{
innerloop://命名内圈语句
for(var j=0; j<10; j++)
{
// 跳出内圈循环
if(j>3){break;}
// 跳出内圈循环
if(i==2){break innerloop;}
// 跳出外圈循环
if(i==4){break outerloop;}
document.write("i = "+i+" , j = "+j+"
");
}
}
document.write("final"+" i = "+i+" , j = "+j);
可以在循环外设置标记为,然后使用break 或continue 加上标记名直接跳出循环。这里要注意,和其他语言不同,JS中一旦跳出,程序是不会继续从标记位处再度往下执行代码的,而是直接执行最外层循环之后的code,如果后面没有code,那么程序就此结束。
For...In 声明用于遍历数组或者对象的属性(对数组或者对象的属性进行循环操作)。[也是for 循环家族的一员]
下例是使用for..in 遍历一个数组对象,注意这里 .NET 中foreach 的区别。
var x
var mycars = new Array();
mycars[0] = "Saab";
mycars[1] = "Volvo";
mycars[2] = "BMW";
for (x in mycars)
{
document.write(mycars[x] + "
");
}
事件是可以被JavaScript 侦测到的行为。
JavaScript 使我们有能力创建动态页面。事件是可以被JavaScript 侦测到的行为。
网页中的每个元素都可以产生某些可以触发JavaScript 函数的事件。比方说,我们可以在用户点击某按钮时产生一个onClick 事件来触发某个函数。事件在HTML 页面中定义。
事件举例:
?鼠标点击
?页面或图像载入
?鼠标悬浮于页面的某个热点之上
?在表单中选取输入框
?确认表单
?键盘按键
注意:事件通常与函数配合使用,当事件发生时函数才会执行。
onload 和onUnload
当用户进入或离开页面时就会触发onload 和onUnload 事件。onload 事件常用来检测访问者的浏览器类型和版本,然后根据这些信息载入特定版本的网页。onload 和onUnload 事件也常被用来处理用户进入或离开页面时所建立的cookies。例如,当某用户第一次进入页面时,你可以使用消息框来询问用户的姓名。姓名会保存在cookie 中。当用户再次进入这个页面时,你可以使用另一个消息框来和这个用户打招呼:"Welcome John Doe!"。
onFocus, onBlur 和onChange
onFocus、onBlur 和onChange 事件通常相互配合用来验证表单。
下面是一个使用onChange 事件的例子。用户一旦改变了域的内容,checkEmail() 函数就会被调用。
onSubmit
onSubmit 用于在提交表单之前验证所有的表单域。
下面是一个使用onSubmit 事件的例子。当用户单击表单中的确认按钮时,checkForm() 函数就会被调用。假若域的值无效,此次提交就会被取消。checkForm() 函数的返回值是true 或者false。如果返回值为true,则提交表单,反之取消提交。