with 语句的作用域是将代码的作用域设置成一个特定的对象中,主要目的是为了简化多次编写同一个对象的工作。
var obj = {
"name": "hi",
"age": 18,
"sex": "boy"
};
// var name1 = obj.name;
// var age1 = obj.age;
// var sex1 = obj.sex;
//
// console.log(name1, age1, sex1); //hi 18 boy
with (obj) {
var name2 = name;
var age2 = age;
var sex2 = sex;
}
console.log(name2, age2, sex2); //hi 18 boy
特别提醒:严格模式下不允许使用 with 语句,否则将视为语法错误。