1初次接触到with用法,是这样一段代码:
1
2
3
4
5
6
7
8
9
10
11
|
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对象能够使我们很方便的使用某个对象的一些属性,而不用每次都去写
对象名.属性 的形式,直接使用对象名。
就像上面的代码,field是对象,而value是对象的值。若不是有with,我们应该是field.value的形式来使用属性。使用with去除了多次写
with对象只能使用属性,而不能改变属性。
这里有个很简单的例子:
1
2
3
4
5
|
function Lakers() {
this
.name = kobe bryant;
this
.age =
28
;
this
.gender = boy;
} <span style=
"font-family:"
>
//使用函数容器创建对象</span>
|
1
2
3
4
5
6
7
8
9
10
|
var people=
new
Lakers();
with(people)
{
var str = 姓名: + name +
;
str += 年龄: + age +
;
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';
}