JavaScript 所有关键字
break
case
catch
continue
default
delete
do
else
finally
for
function
if
in
instanceof
new
return
switch
this
throw
try
typeof
var
void
while
delete
:删除对象的某个属性
function obj(id,name){
this.id = id;
this.name = name;
this.getName = function(){return this.name;}
}
var objOne = new obj(1,"objOneName");
var objTwo = new obj(2,"objTwoName");
alert("objOne 名字为:"+objOne.getName());// 提示 objOneName
delete objTwo.name;
alert("objOne 名字为:"+objOne.getName());// 提示 objOneName
in
: 与 for
一起使用用于遍历对象的属性名
-
在 js 中,for……in 用于遍历一个对象的属性,把对象的属性名和属性值都提出来
for(var key in obj){alert(key); }
-
判断某个对象是否具有某个属性
对于一般的对象属性需要用字符串指定属性的名称 如:var mycar = {make: "Honda", model: "Accord", year: 1998}; "make" in mycar // returns true "model" in mycar // returns true
对于数组对象,元素值对应的属性名为数字类型,如:
// Arrays var trees = new Array("redwood", "bay", "cedar", "oak", "maple"); 0 in trees // returns true 3 in trees // returns true 6 in trees // returns false "bay" in trees // returns false (you must specify the index number, // not the value at that index) "length" in trees // returns true (length is an Array property)
此外,如果你使用 delete 操作符删除了一个属性,再次用 in 检查时,会返回 false;
如果你把一个属性值设为 undefined,但是没有使用 delete 操作符,使用 in 检查,会返回 true。
instanceof
:判断类型
返回的是布尔值,而typeof
返回的是几种数据类型的字符串值
with
:引用一个对象,使访问属性与方法更加方便
只能访问与修改属性,不能增加属性与方法
function obj(id,name){
this.id = id;
this.name = name;
this.getName = function(){return this.name;}
}
var myObj = new obj(3,"three");
with(myObj){alert(id);// 提示 3
alert(name);// 提示 three
alert(getName());// 提示 three
id = 4;
alert(id);// 提示 4
}
alert(myObj.id);// 提示 4,说明 with 中是通过引用方式访问的,而不是复制值的方式