javascript特殊操作符
来源:网络整理 责任编辑:栏目编辑 发表时间:2013-07-02 02:22 点击:次
?: (条件操作符)
条件操作符是 JavaScript 所有操作符之中唯一需要三个操作数的。该操作符通常用于取代简单的 if 语句。
语法
condition ? expr1 : expr2
参数
condition 计算结果为 true 或 false 的表达式
expr1, expr2 任意类型值的表达式。
描述
如果 condition 为真的话,该操作符将返回 expr1 的值;否则返回 expr2 的值。例如,要根据 isMember 变量的值显示不同的信息,可以使用此语句:
document.write ("收费为 " + (isMember ? "$2.00" : "$10.00"))
, (逗号操作符)
逗号操作符非常简单。它会依次计算两个操作数并返回第二个操作数的值。
语法
expr1, expr2
参数
expr1, expr2 任意表达式
描述
你可以在你想要在只能填入一个表达式的地方写入多个表达式时使用逗号操作符。该操作符最常见的用途是在 for 语句中使用多个变量作为循环变量。
例如,如果 a 是一个 10x10 的二维数组,下面的代码将使用逗号操作符一次自增两个变量。结果是打印出该数组副对角线上的元素:
for (var i=0, j=10; i <= 10; i++, j--)
document.writeln("a["+i+","+j+"]= " + a[i,j])
delete
删除一个对象的属性或者数组中特定位置的元素。
语法
delete objectName.property
delete objectName[index]
delete property
参数
objectName 对象的名称。
属性 已有的属性。
index 一个整型数值,表明了要删除的元素在数组处的位置。
描述
第三种格式只在 with 语句中合法。
如果删除成功,delete 操作符将把属性或元素设为 undefined(未定义)。delete 总是返回 undefined。
new
该操作符用于创建用户自定义对象类型或者拥有构造函数的内建对象类型的实例。
语法
objectName = new objectType (param1 [,param2] ...[,paramN])
参数
objectName 新对象实例的名称。
objectType 对象类型。它必须是一个定义对象类型的函数。
param1...paramN 对象的属性值。这些属性是 objectType 函数的参数。
描述
创建一个用户自定义对象需要两个步骤:
写一个函数定义一种对象类型。
要定义一个对象类型,需要为该对象创建一个指定名称、属性和方法的函数。一个对象的属性可以是其它类型的对象。请参看下面的例子。
你总可以向已经定义的对象中添加属性。例如,car1.color = "black" 将给 car1 添加一个叫 color 的属性,并给其赋值“black”。不过这对其它任何对象并没有什么作用。要给同一类型的所有对象都添加一个新的属性,你必须向 car 对象类型的定义中添加属性。
你可以使用 Function.prototype 属性向先前定义的对象类型中添加属性。这将定义一个被所有由该函数创建的对象共享的属性,而不只是一个对象类型实例才有。下面的代码将为所有 car 类型的对象添加一个 color 属性,然后将对象 car1 的 color 属性赋值。
Car.prototype.color=null
car1.color="black"
示例
示例 1:对象类型和对象实例。假设你想要创建一个汽车使用的对象类型。你想要这种对象类型叫做 car,有属性 make, model, 和 year。要完成这么多事情,你需要编写如下的函数:
function car(make, model, year) {
this.make = make
this.model = model
this.year = year
}
现在你就可以用下面的方法创建一个叫做 mycar 的对象了:
mycar = new car("Eagle", "Talon TSi", 1993)
该语句创建了 mycar 并将其属性赋了指定的值。也就是说,mycar.make 的值是字符串“Eagle”,mycar.year 是整型数 1993,等等。
使用 new 你可以创建任意多个 car 对象。如,
kenscar = new car("Nissan", "300ZX", 1992) 示例 2: 对象属性就是另外一个对象。假设你按照下面代码定义了一个叫做 person 的对象类型:
function person(name, age, sex) {
this.name = name
this.age = age
this.sex = sex
}
然后创建了两个新的 person 实例:
rand = new person("Rand McNally", 33, "M")
ken = new person("Ken Jones", 39, "M")
现在你可以重写 car 的定义,以便包含一个 person 对象作为 owner 属性表明车主:
function car(make, model, year, owner) {
this.make = make;
this.model = model;
this.year = year;
this.owner = owner;
}
要创建一个新对象的实例,你可以使用下面的代码:
car1 = new car("Eagle", "Talon TSi", 1993, rand);
car2 = new car("Nissan", "300ZX", 1992, ken)
请注意,我们在创建对象的时候并没有给出一个常量字符串或者一个整型值,而是传递了对象 kand 和 ken 作为 owner 的参数。要找出 car2 车主的名字的方法是:
条件操作符是 JavaScript 所有操作符之中唯一需要三个操作数的。该操作符通常用于取代简单的 if 语句。
语法
condition ? expr1 : expr2
参数
condition 计算结果为 true 或 false 的表达式
expr1, expr2 任意类型值的表达式。
描述
如果 condition 为真的话,该操作符将返回 expr1 的值;否则返回 expr2 的值。例如,要根据 isMember 变量的值显示不同的信息,可以使用此语句:
document.write ("收费为 " + (isMember ? "$2.00" : "$10.00"))
, (逗号操作符)
逗号操作符非常简单。它会依次计算两个操作数并返回第二个操作数的值。
语法
expr1, expr2
参数
expr1, expr2 任意表达式
描述
你可以在你想要在只能填入一个表达式的地方写入多个表达式时使用逗号操作符。该操作符最常见的用途是在 for 语句中使用多个变量作为循环变量。
例如,如果 a 是一个 10x10 的二维数组,下面的代码将使用逗号操作符一次自增两个变量。结果是打印出该数组副对角线上的元素:
for (var i=0, j=10; i <= 10; i++, j--)
document.writeln("a["+i+","+j+"]= " + a[i,j])
delete
删除一个对象的属性或者数组中特定位置的元素。
语法
delete objectName.property
delete objectName[index]
delete property
参数
objectName 对象的名称。
属性 已有的属性。
index 一个整型数值,表明了要删除的元素在数组处的位置。
描述
第三种格式只在 with 语句中合法。
如果删除成功,delete 操作符将把属性或元素设为 undefined(未定义)。delete 总是返回 undefined。
new
该操作符用于创建用户自定义对象类型或者拥有构造函数的内建对象类型的实例。
语法
objectName = new objectType (param1 [,param2] ...[,paramN])
参数
objectName 新对象实例的名称。
objectType 对象类型。它必须是一个定义对象类型的函数。
param1...paramN 对象的属性值。这些属性是 objectType 函数的参数。
描述
创建一个用户自定义对象需要两个步骤:
写一个函数定义一种对象类型。
要定义一个对象类型,需要为该对象创建一个指定名称、属性和方法的函数。一个对象的属性可以是其它类型的对象。请参看下面的例子。
你总可以向已经定义的对象中添加属性。例如,car1.color = "black" 将给 car1 添加一个叫 color 的属性,并给其赋值“black”。不过这对其它任何对象并没有什么作用。要给同一类型的所有对象都添加一个新的属性,你必须向 car 对象类型的定义中添加属性。
你可以使用 Function.prototype 属性向先前定义的对象类型中添加属性。这将定义一个被所有由该函数创建的对象共享的属性,而不只是一个对象类型实例才有。下面的代码将为所有 car 类型的对象添加一个 color 属性,然后将对象 car1 的 color 属性赋值。
Car.prototype.color=null
car1.color="black"
示例
示例 1:对象类型和对象实例。假设你想要创建一个汽车使用的对象类型。你想要这种对象类型叫做 car,有属性 make, model, 和 year。要完成这么多事情,你需要编写如下的函数:
function car(make, model, year) {
this.make = make
this.model = model
this.year = year
}
现在你就可以用下面的方法创建一个叫做 mycar 的对象了:
mycar = new car("Eagle", "Talon TSi", 1993)
该语句创建了 mycar 并将其属性赋了指定的值。也就是说,mycar.make 的值是字符串“Eagle”,mycar.year 是整型数 1993,等等。
使用 new 你可以创建任意多个 car 对象。如,
kenscar = new car("Nissan", "300ZX", 1992) 示例 2: 对象属性就是另外一个对象。假设你按照下面代码定义了一个叫做 person 的对象类型:
function person(name, age, sex) {
this.name = name
this.age = age
this.sex = sex
}
然后创建了两个新的 person 实例:
rand = new person("Rand McNally", 33, "M")
ken = new person("Ken Jones", 39, "M")
现在你可以重写 car 的定义,以便包含一个 person 对象作为 owner 属性表明车主:
function car(make, model, year, owner) {
this.make = make;
this.model = model;
this.year = year;
this.owner = owner;
}
要创建一个新对象的实例,你可以使用下面的代码:
car1 = new car("Eagle", "Talon TSi", 1993, rand);
car2 = new car("Nissan", "300ZX", 1992, ken)
请注意,我们在创建对象的时候并没有给出一个常量字符串或者一个整型值,而是传递了对象 kand 和 ken 作为 owner 的参数。要找出 car2 车主的名字的方法是:
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>