首页 > 代码库 > JS(javaScript)的with用法

JS(javaScript)的with用法

1初次接触到with用法,是这样一段代码:

function validate_email(field,alerttxt)
{
with (field)
{
apos=value.indexOf("@")
dotpos=value.lastIndexOf(".")
if (apos<1||dotpos-apos<2) 
  {alert(alerttxt);return false}
else {return true}
}
}
  然后就去搜了下,with的用法,这里进行下总结:

with对象能够使我们很方便的使用某个对象的一些属性,而不用每次都去写

对象名.属性 的形式,直接使用对象名。

就像上面的代码,field是对象,而value是对象的值。若不是有with,我们应该是field.value的形式来使用属性。使用with去除了多次写

    with对象只能使用属性,而不能改变属性。

这里有个很简单的例子:

function Lakers() {  
       this.name = "kobe bryant";  
       this.age = "28";  
       this.gender = "boy";  
}  <span style="font-family: Arial, Helvetica, sans-serif;">//使用函数容器创建对象</span>
var people=new Lakers();  
with(people)  
{  
       var str = "姓名: " + name + "<br>";  
       str += "年龄:" + age + "<br>";  
       str += "性别:" + gender;  
       document.write(str);  
}  
这样使用,会得到结果:

姓名: kobe bryant  
年龄:28  
性别:boy

2 with方式也可以用来进行样式的赋值。
js进行样式的赋值方法大家可以参考http://blog.sina.com.cn/s/blog_6cbbde3f01018g6z.html

其中一种方法是:cssText方法,

var t=document.getElementById("dd");

t.style.cssText="width:200px;height:300px";

还可以

with(t.style){

                width=‘300px‘;

          height=‘300px‘;

        }

3 而对于变量的搜索方法

通过日志:http://www.jb51.net/article/7961.htm 可以总结出:先搜素对象中的变量,不能匹配的话就去匹配with直接定义的变量,还找不到就定义为undefined.


JS(javaScript)的with用法