关键词

深入浅析javascript函数中with

深入浅析JavaScript函数中with的完整攻略

1. 理解with语句的作用

在JavaScript函数中,使用with语句可以将一个对象作为作用域,从而简化访问该对象的属性或者方法。可以理解为with语句是一种便利的方式,可以使得代码更加简洁。

with语句的语法如下:

with(object){
    //可以直接访问object中的属性或方法
}

2. with语句的使用场景

with语句的使用场景一般为访问对象的属性或方法,因为with语句可以使得代码更加简洁。

with语句的使用需要注意以下几点:

  • with语句可能会导致变量作用域的混乱,所以尽量不要在全局作用域中使用with语句;
  • with语句中的对象只是暂时被作为作用域而已,所以在对象中添加或修改属性时不能保证其它地方能正常访问到相应的属性;
  • 必须保证传入的object对象是存在的,否则js会抛出异常;

3. 一个使用with的示例

function test1(){
    var obj = {
        name: "Tom",
        age: 20
    };

    with(obj){
        console.log(name); // 输出 Tom
        console.log(age);  // 输出 20
    }
}

在函数test1中使用了with语句,将obj对象作为作用域,这样就可以直接访问obj对象中的name和age属性了。使用with语句的代码更加简洁,但需要注意obj对象最好不要是全局变量。

4. 另一个使用with的示例

function test2(){
    var obj = {
        name: "Tom",
        age: 20
    };

    with(obj){
        name = "Jerry";
        age = 21;
    }

    console.log(obj.name);   // 输出 Jerry
    console.log(obj.age);    // 输出 21
}

在函数test2中使用了with语句,并修改了obj对象中的name和age属性,随后输出修改后的属性值。使用with语句可以使代码更加简洁,但需要注意修改obj对象的属性并不会影响其它地方的访问结果。

本文链接:http://task.lmcjl.com/news/11612.html

展开阅读全文