JavaScript基础知识一

JavaScript 变量###

与代数一样,JavaScript 变量可用于存放值(比如 x=2)和表达式(比如 z=x+y)。变量可以使用短名称(比如 x 和 y),也可以使用描述性更好的名称(比如 age, sum, totalvolume)。

  • 变量必须以字母开头
  • 变量也能以 $ 和 _ 符号开头(不过我们不推荐这么做)
  • 变量名称对大小写敏感(y 和 Y 是不同的变量)

提示:JavaScript 语句和 JavaScript 变量都对大小写敏感。

声明(创建) JavaScript 变量####

在 JavaScript 中创建变量通常称为“声明”变量。我们使用 var 关键词来声明变量:

var carname;

一条语句,多个变量####

您可以在一条语句中声明很多变量。该语句以 var 开头,并使用逗号分隔变量即可:

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

声明也可横跨多行:

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

Value = undefined####

在计算机程序中,经常会声明无值的变量。未使用值来声明的变量,其值实际上是 undefined。在执行过以下语句后,变量 carname 的值将是 undefined:

var carname;

重新声明 JavaScript 变量####

如果重新声明 JavaScript 变量,该变量的值不会丢失。在以下两条语句执行后,变量 carname 的值依然是 "Volvo":

var carname="Volvo";
var carname;

JavaScript 错误 - Throw、Try 和 Catch###

try 语句测试代码块的错误;catch 语句处理错误;throw 语句创建自定义错误。

JavaScript 测试和捕捉####

try 语句允许我们定义在执行时进行错误测试的代码块;catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块;JavaScript 语句 try 和 catch 是成对出现的。

语法#####

try
{
//在这里运行代码
}
catch(err)
{
//在这里处理错误
}

Throw 语句####

throw 语句允许我们创建自定义错误。正确的技术术语是:创建或抛出异常(exception)。如果把 throw 与 try 和 catch 一起使用,那么您能够控制程序流,并生成自定义的错误消息。异常可以是 JavaScript 字符串、数字、逻辑值或对象。

语法#####

throw exception

实例#####

本例检测输入变量的值。如果值是错误的,会抛出一个异常(错误)。catch 会捕捉到这个错误,并显示一段自定义的错误消息:

My First JavaScript


Please input a number between 5 and 10:




JavaScript 表单验证###

JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证。

被 JavaScript 验证的这些典型的表单数据有:

  • 用户是否已填写表单中的必填项目?
  • 用户输入的邮件地址是否合法?
  • 用户是否已输入合法的日期?
  • 用户是否在数据域 (numeric field) 中输入了文本?

必填(或必选)项目####

下面的函数用来检查用户是否已填写表单中的必填(或必选)项目。假如必填或必选项为空,那么警告框会弹出,并且函数的返回值为 false,否则函数的返回值则为 true(意味着数据没有问题):

function validate_required(field,alerttxt){
with (field)
{
if (valuenull||value""){
alert(alerttxt);return false
}else{
return true
}
}
}

下面是连同 HTML 表单的代码:






Email:


E-mail 验证####

下面的函数检查输入的数据是否符合电子邮件地址的基本语法。意思就是说,输入的数据必须包含 @ 符号和点号(.)。同时,@ 不可以是邮件地址的首字符,并且 @ 之后需有至少一个点号:

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
}
}
}

下面是连同 HTML 表单的完整代码:





<form action="submitpage.htm"onsubmit="return validate_form(this);" method="post">
Email:


JavaScript 对象####

访问对象的属性####

属性是与对象相关的值。访问对象属性的语法是:

objectName.propertyName;

这个例子使用了 String 对象的 length 属性来获得字符串的长度:

var message="Hello World!";
var x=message.length;

在以上代码执行后,x 的值将是:12

访问对象的方法####

方法是能够在对象上执行的动作。您可以通过以下语法来调用方法:

objectName.methodName();

这个例子使用了 String 对象的 toUpperCase() 方法来将文本转换为大写:

var message="Hello world!";
var x=message.toUpperCase();
在以上代码执行后,x 的值将是:HELLO WORLD!

创建 JavaScript 对象####

通过 JavaScript,您能够定义并创建自己的对象。创建新对象有两种不同的方法:

  1. 定义并创建对象的实例
  2. 使用函数来定义对象,然后创建新的对象实例
创建直接的实例#####

这个例子创建了对象的一个新实例,并向其添加了四个属性:

实例######

person=new Object();
person.firstname="Bill";
person.lastname="Gates";
person.age=56;
person.eyecolor="blue";

实例######

person={firstname:"John",lastname:"Doe",age:50,eyecolor:"blue"};

使用对象构造器#####

本例使用函数来构造对象:

实例######

function person(firstname,lastname,age,eyecolor){
this.firstname=firstname;
this.lastname=lastname;
this.age=age;
this.eyecolor=eyecolor;
}

一旦您有了对象构造器,就可以创建新的对象实例,就像这样:

var myFather=new person("Bill","Gates",56,"blue");
var myMother=new person("Steve","Jobs",48,"green");

Object 类型####

创建Object实例的方式有两种。第一种是使用new操作符后跟Object构造函数,如下所示:

var person = new Object();
person.name = "Nicholas";
person.age = 29;

另一种方式是使用对象字面量表示法。如下所示:

var person = {
name : "Nicholas",
age : 29
};

在这个例子中,左边的花括号({)表示对象字面量的开始,赋值操作符表示后面是一个值,所以左边花括号在这里表示一个表达式的开始。

然后,我们定义了name属性,之后是一个冒号,再后面是这个属性的值。在对象字面量中,使用逗号来分隔不同的属性,因此"Nicholas"后面是一个逗号。但是,在age属性的值29的后面不能添加逗号,因为age是这个对象的最后一个属性。在最后一个属性后面添加逗号,会在IE7及更早版本和Opera中导致错误。

在使用对象字面量语法时,属性名也可以使用字符串,如下面这个例子所示:

var person = {
"name" : "Nicholas",
"age" : 29
};

一般来说,访问对象属性时使用的都是点表示法,这也是很多面向对象语言中通用的语法。不过,在JavaScript也可以使用方括号表示法来访问对象的属性。在使用方括号语法时,应该将要访问的属性以字符串的形式放在括号中,如下所示:

alert(person["name"]); //"Nicholas"
alert(person.name); //"Nicholas"

从功能上看,这两种访问对象属性的方法没有任何区别。但方括号语法的主要优点是可以通过变量来访问属性。如果属性名中包含会导致语法错误的字符,或者属性名使用的是关键字或保留字,也可以使用方括号表示法。

var propertyName = "name";
alert(person[propertyName]); //"Nicholas"

person["first name"] = "Nicholas";

Array类型####

ECMAScript数组的每一项可以保存任何类型的数据。也就是说,可以用数组的第一个位置保存字符串,用第二位置来保存数值,用第三个位置来保存对象,以此类推。而且ECMAScript数组

posted on 2016-07-26 14:31  前端园地  阅读(102)  评论(0)    收藏  举报