乐趣区

js关键字

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 中是通过引用方式访问的,而不是复制值的方式
退出移动版