search

Home  >  Q&A  >  body text

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

<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 一起用的吗?

阿神阿神3079 days ago1198

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()时:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    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