with:临时扩展作用域链; 严格模式中,禁止使用with语句中, with语句缺点:难于优化;运行慢; 用法:with (<对象>) <语句>; 举例: <script lan
with:临时扩展作用域链;
严格模式中,禁止使用with语句中,
with语句缺点:难于优化;运行慢;
用法:with (<对象>) <语句>;
举例:
<script language="javascript"> function Lakers() { this.name = "kobe bryant"; this.age = "28"; this.gender = "boy"; } var people=new Lakers(); with(people) //这里的people不能换成lakers; with后面需要的是对象,函数不可以{ var str = "姓名: " + name + "<br>"; str += "年龄:" + age + "<br>"; str += "性别:" + gender; document.write(str); } </script>
结果:姓名: kobe bryant年龄:28性别:boy
尽管函数本身也是一个对象,但它与普通的对象还是有区别的,因为它同时也是对象构造器,也就是说,可以new一个函数来返回一个对象。
在看一段代码:
with(o) x=1;//如果o对象的x属性存在,则会赋值属性x的值为1;如果不存在 这段代码作用就是x=1;//定义变量使用