Home  >  Q&A  >  body text

javascript中的with()是什么方法?

<html>
<head>
<script type="text/javascript">
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}
}
}
function validate_form(thisform)
{
with (thisform)
{
if (validate_email(email,"Not a valid e-mail address!")==false)
{email.focus();return false}
}
}
</script>
</head>
<body>
<form action="submitpage.htm"onsubmit="return validate_form(this);" method="post">
Email: <input type="text" name="email" size="30">
<input type="submit" value="Submit"> 
</form>
</body>
</html>

这个是一个网站教程的例子,里面在with ( )中嵌套了if,这个with()是什么方法?这个with()就是和if 一起用的吗?

阿神阿神2901 days ago1077

reply all(2)I'll reply

  • 汪汪

    汪汪2016-11-09 16:43:02

    with对象能够使我们很方便的使用某个对象的一些属性,而不用每次都去写
    对象名.属性 的形式,直接使用对象名。

    reply
    0
  • 学习ing

    学习ing2016-11-09 16:42:41

    with()和if()没有关系。
    with(obj)作用就是将后面的{}中的语句块中的缺省对象设置为obj,那么在其后面的{}语句块中引用obj的方法或属性时可以省略obj.的输入而直接使用方法或属性的名称。比如:
    不用with()时:

    function validate_email(field,alerttxt){
      field.apos=value.indexOf("@")
      field.dotpos=value.lastIndexOf(".")
      if (field.apos<1 || field.dotpos-field.apos<2) {
        alert(alerttxt);
        return false
      }else {
        return true
      }
    }

    用了with(field)后,上面函数中的field.都可以省略了,减少了输入的工作量。

    reply
    0
  • Cancelreply