中易网

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

答案:5  悬赏:70  
解决时间 2021-01-16 13:34
  • 提问者网友:火车头
  • 2021-01-15 21:32
javascript中的with()是什么方法?
最佳答案
  • 二级知识专家网友:胯下狙击手
  • 2021-01-15 22:34
楼上两位说的都差不多,但不是省略field.apos 和 field.dotpos, apos 和dotpos 是函数内的变量,JavaScript 函数中可以省略var apos; var dotpos; 的定义。其实field这个形参传参数的时候是form.email这个参数,所以省略的应该是field.value,也就是form.email.value:
function validate_email(field,alerttxt){
apos=field.value.indexOf("@")
dotpos=field.value.lastIndexOf(".")
if (apos<1 || dotpos-apos<2) {
alert(alerttxt);
return false
}else {
return true
}
}
全部回答
  • 1楼网友:动情书生
  • 2021-01-16 01:00
引用hutaoooooo的回答:
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.都可以省略了,减少了输入的工作量。lucklzongyu的回答是对的。这个不对。
  • 2楼网友:舊物识亽
  • 2021-01-15 23:30
将作用域设定为with中的对象,
举个例子:
var obj1 = {
test : function () {
alert("123");
}
};
var obj2 = {
test : function () {
alert("456");
}
};
with(obj1) {
//相当于外面的obj1.test(),输出 123
test();
}
with(obj2) {
//相当于外面的obj2.test(),输出 456
test();
}
  • 3楼网友:逃夭
  • 2021-01-15 23:18
with对象能够使我们很方便的使用某个对象的一些属性,而不用每次都去写
对象名.属性 的形式,直接使用对象名。
  • 4楼网友:你哪知我潦倒为你
  • 2021-01-15 23:10
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.都可以省略了,减少了输入的工作量。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息