jswith函数,js endswith方法
javascript 里面怎么调用两个函数
script type="text/javascript"
function validate_required(field,alerttxt)
{
with (field)
{
if (value==null||value=="")
{alert(alerttxt);return false}
else {return true}
}
}
function validate_form(thisform)
{
with (thisform)
{
if (validate_required(code," 用户名不能为空!")==false)
{code.focus();return false}
if (validate_required(end," 密码不能为空!")==false)
{end.focus();return false}
}
}
/script
js编写一个函数,计算两个数字的和、差、积、商(要求:使用传参的形式)
/**?
?**?除法函数,用来得到精确的除法结果
?**?说明:javascript的除法结果会有误差,在两个浮点数相除的时候会比较明显。这个函数返回较为精确的除法结果。
?**?调用:accDiv(arg1,arg2)
?**?返回值:arg1除以arg2的精确结果
?**/function?accDiv(arg1,?arg2)?{????var?t1?=?0,?t2?=?0,?r1,?r2;????try?{
????????t1?=?arg1.toString().split(".")[1].length;
????}????catch?(e)?{
????}????try?{
????????t2?=?arg2.toString().split(".")[1].length;
????}????catch?(e)?{
????}????with?(Math)?{
????????r1?=?Number(arg1.toString().replace(".",?""));
????????r2?=?Number(arg2.toString().replace(".",?""));????????return?(r1?/?r2)?*?pow(10,?t2?-?t1);
????}
}//给Number类型增加一个div方法,调用起来更加方便。Number.prototype.div?=?function?(arg)?{????return?accDiv(this,?arg);
};/**
?**?乘法函数,用来得到精确的乘法结果
?**?说明:javascript的乘法结果会有误差,在两个浮点数相乘的时候会比较明显。这个函数返回较为精确的乘法结果。
?**?调用:accMul(arg1,arg2)
?**?返回值:arg1乘以?arg2的精确结果
?**/function?accMul(arg1,?arg2)?{????var?m?=?0,?s1?=?arg1.toString(),?s2?=?arg2.toString();????try?{
????????m?+=?s1.split(".")[1].length;
????}????catch?(e)?{
????}????try?{
????????m?+=?s2.split(".")[1].length;
????}????catch?(e)?{
????}????return?Number(s1.replace(".",?""))?*?Number(s2.replace(".",?""))?/?Math.pow(10,?m);
}//?给Number类型增加一个mul方法,调用起来更加方便。Number.prototype.mul?=?function?(arg)?{????return?accMul(arg,?this);
};/**
?**?减法函数,用来得到精确的减法结果
?**?说明:javascript的减法结果会有误差,在两个浮点数相减的时候会比较明显。这个函数返回较为精确的减法结果。
?**?调用:accSub(arg1,arg2)
?**?返回值:arg1加上arg2的精确结果
?**/function?accSub(arg1,?arg2)?{????var?r1,?r2,?m,?n;????try?{
????????r1?=?arg1.toString().split(".")[1].length;
????}????catch?(e)?{
????????r1?=?0;
????}????try?{
????????r2?=?arg2.toString().split(".")[1].length;
????}????catch?(e)?{
????????r2?=?0;
????}
????m?=?Math.pow(10,?Math.max(r1,?r2));?//last?modify?by?deeka?//动态控制精度长度
????n?=?(r1?=?r2)???r1?:?r2;????return?((arg1?*?m?-?arg2?*?m)?/?m).toFixed(n);
}//?给Number类型增加一个mul方法,调用起来更加方便。Number.prototype.sub?=?function?(arg)?{????return?accMul(arg,?this);
};/**
?**?加法函数,用来得到精确的加法结果
?**?说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果。
?**?调用:accAdd(arg1,arg2)
?**?返回值:arg1加上arg2的精确结果
?**/function?accAdd(arg1,?arg2)?{????var?r1,?r2,?m,?c;????try?{
????????r1?=?arg1.toString().split(".")[1].length;
????}????catch?(e)?{
????????r1?=?0;
????}????try?{
????????r2?=?arg2.toString().split(".")[1].length;
????}????catch?(e)?{
????????r2?=?0;
????}
????c?=?Math.abs(r1?-?r2);
????m?=?Math.pow(10,?Math.max(r1,?r2));????if?(c??0)?{????????var?cm?=?Math.pow(10,?c);????????if?(r1??r2)?{
????????????arg1?=?Number(arg1.toString().replace(".",?""));
????????????arg2?=?Number(arg2.toString().replace(".",?""))?*?cm;
????????}?else?{
????????????arg1?=?Number(arg1.toString().replace(".",?""))?*?cm;
????????????arg2?=?Number(arg2.toString().replace(".",?""));
????????}
????}?else?{
????????arg1?=?Number(arg1.toString().replace(".",?""));
????????arg2?=?Number(arg2.toString().replace(".",?""));
????}????return?(arg1?+?arg2)?/?m;
}//给Number类型增加一个add方法,调用起来更加方便。Number.prototype.add?=?function?(arg)?{????return?accAdd(arg,?this);
};
JS中with函数的作用
with 语句用于设置代码在特定对象中的作用域。
它的语法:
with (expression) statement例如:
var sMessage = "hello";
with(sMessage) {
alert(toUpperCase()); //输出 "HELLO"
}
在这个例子中,with 语句用于字符串,所以在调用 toUpperCase() 方法时,解释程序将检查该方法是否是本地函数。如果不是,它将检查伪对象 sMessage,看它是否为该对象的方法。然后,alert 输出 "HELLO",因为解释程序找到了字符串 "hello" 的 toUpperCase() 方法。
提示:with 语句是运行缓慢的代码块,尤其是在已设置了属性值时。大多数情况下,如果可能,最好避免使用它。