Javascript实现计算个人所得税_javascript技巧

TABLE {
    BORDER-RIGHT: medium none; PADDING-RIGHT: 0px; BORDER-TOP: medium none; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; BORDER-LEFT: medium none; PADDING-TOP: 0px;

CSS:

BORDER-BOTTOM: medium none
}
TD {
    BORDER-RIGHT: medium none; PADDING-RIGHT: 0px; BORDER-TOP: medium none; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; BORDER-LEFT: medium none; PADDING-TOP: 0px;BORDER-BOTTOM: medium none
}
IMG {
    BORDER-RIGHT: medium none; PADDING-RIGHT: 0px; BORDER-TOP: medium none; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; BORDER-LEFT: medium none; PADDING-TOP: 0px;BORDER-BOTTOM: medium none
}
FORM {
    BORDER-RIGHT: medium none; PADDING-RIGHT: 0px; BORDER-TOP: medium none; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; BORDER-LEFT: medium none; PADDING-TOP: 0px;BORDER-BOTTOM: medium none
}
TD {
    FONT-SIZE: 12px
}
P {
    FONT-SIZE: 12px
}
LI {
    FONT-SIZE: 12px
}
SELECT {
    FONT-SIZE: 12px
}
INPUT {
    FONT-SIZE: 12px
}
TEXTAREA {
    FONT-SIZE: 12px
}
SELECT {
    BORDER-RIGHT: #49b8e3 1px solid; BORDER-TOP: #49b8e3 1px solid; BORDER-LEFT: #49b8e3 1px solid; BORDER-BOTTOM: #49b8e3 1px solid; BACKGROUND-COLOR: #e2f4ff
}
INPUT {
    BORDER-RIGHT: #49b8e3 1px solid; BORDER-TOP: #49b8e3 1px solid; BORDER-LEFT: #49b8e3 1px solid; BORDER-BOTTOM: #49b8e3 1px solid; BACKGROUND-COLOR: #e2f4ff
}
TEXTAREA {
    BORDER-RIGHT: #49b8e3 1px solid; BORDER-TOP: #49b8e3 1px solid; BORDER-LEFT: #49b8e3 1px solid; BORDER-BOTTOM: #49b8e3 1px solid; BACKGROUND-COLOR: #e2f4ff
}
.f14 {
    FONT-SIZE: 14px
}
.lh19 {
    LINE-HEIGHT: 19px
}
A:hover {
    COLOR: #ff0000
}
.b1 {
    BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid
}
.b2 {
    BORDER-BOTTOM: #ffffff 1px solid
}
.b3 {
    BORDER-RIGHT: #cfe9f8 5px solid; BORDER-TOP: #cfe9f8 5px solid; BORDER-LEFT: #cfe9f8 5px solid; BORDER-BOTTOM: #cfe9f8 5px solid
}
.cRed {
    COLOR: #cc0000
}
.cGary {
    COLOR: #6c6c6c
}
.cBlue {
    COLOR: #066cd2
}
.linkBlankUl A:link {
    COLOR: #000; TEXT-DECORATION: underline
}
.linkBlankUl A:visited {
    COLOR: #000; TEXT-DECORATION: underline
}
.linkBlankUl A:active {
    COLOR: #f00; TEXT-DECORATION: underline
}
.linkBlankUl A:hover {
    COLOR: #f00; TEXT-DECORATION: underline
}
.linkBlank A:link {
    COLOR: #000; TEXT-DECORATION: none
}
.linkBlank A:visited {
    COLOR: #000; TEXT-DECORATION: none
}
.linkBlank A:active {
    COLOR: #f00; TEXT-DECORATION: none
}
.linkBlank A:hover {
    COLOR: #f00; TEXT-DECORATION: none
}
.linkRed {
    COLOR: #7b0000
}
.linkRed A:link {
    COLOR: #7b0000; text-: none
}
.linkRed A:visited {
    COLOR: #7b0000; text-: none
}
.linkRed A:active {
    COLOR: #7b0000; text-: underline
}
.linkRed A:hover {
    COLOR: #7b0000; text-: underline
}
.linkBlue A:link {
    COLOR: #003399; TEXT-DECORATION: underline
}
.linkBlue A:visited {
    COLOR: #003399; TEXT-DECORATION: underline
}
.linkBlue A:active {
    COLOR: #0268ce; TEXT-DECORATION: underline
}
.linkBlue A:hover {
    COLOR: #0268ce; TEXT-DECORATION: underline
}

HTML:

</STYLE>

<SCRIPT language=javascript>
   <!--
function warnInvalid (theField, s)
  {  newAlert(s);
    theField.focus();
    theField.select();
    return false;
  }

function isNumber(s)  //字符串是否由数字构成
  {
    var digits = "0123456789";
    var i = 0;
    var sLength = s.length;

    while ((i < sLength))
    {
      var c = s.charAt(i);
      if (digits.indexOf(c) == -1) return

false;
      i++;
    }

    return true;
  }

function CheckNumeric(theField,s) //整数或小数
  {
    var ret = true;
    var i;
    var str=theField.value;
    var Temp = new Number(str);

    if (str.length == 0)
    {
      return warnInvalid (theField, s);
      ret=false;
    }

    if (ret)
    {
      if (Temp.valueOf() != Temp.valueOf

())
      {
        return warnInvalid

(theField, s);
      }
    }

    return ret;
  }
function validateFormInfo(form)
  {
    var str
    var SumTo
    var srSum
    var qzSum,InsuSum,TSum,yzSum,fySum

    s=document.form1.select.selectedIndex+1;
    srSum=document.form1.textfield.value;
    if (s.length<1)
    {
     s=1;
    }
    qzSum=document.form1.textfield3.value;
    InsuSum=document.form1.textfield2.value;
    yzSum=document.form1.textfield22.value;
    fySum=document.form1.textfield32.value;
    TSum=srSum-qzSum-InsuSum;
    /*newAlert_Top("sr="+srSum+"qz="+qzSum+"INsu="+InsuSum+"yz="+yzSum+"fy="+

fySum);*/

    if (form == null) return true;

    str = "请正确输入收入金额!";
    if (!CheckNumeric(form.elements

["textfield"],str)) return false; //收入金额

    if (document.all.select.selectedIndex==0)
    {
     str = "请正确输入社会保险费!";
     if (!CheckNumeric(form.elements

["textfield2"],str)) return false; //各项社会保险费

       str = "请正确输入起征额!";
     if (!CheckNumeric(form.elements

["textfield3"],str)) return false; //起征额
    }

    if (document.all.select.selectedIndex==8)
    {
     str = "请正确输入财产原值!";
     if (!CheckNumeric(form.elements

["textfield22"],str)) return false; //各项社会保险费

     str = "请正确输入合理交易费用!";
     if (!CheckNumeric(form.elements

["textfield32"],str)) return false; //起征额
    }

    switch (s)
    {
      case 1:

document.form1.textfield4.value=Rate1(TSum);
        break;           

      case 2:

document.form1.textfield4.value=Rate2(srSum);
        break;

      case 3:

document.form1.textfield4.value=Rate2(srSum);
        break;

      case 4:

document.form1.textfield4.value=Rate3(srSum);
        break;

      case 5:

document.form1.textfield4.value=R4568(srSum)*70/100;
        break;

      case 6:

document.form1.textfield4.value=R4568(srSum);
        break;

      case 7:

document.form1.textfield4.value=srSum*20/100;
        break;

      case 8:

document.form1.textfield4.value=R4568(srSum);
        break;

      case 9:
        if (srSum-yzSum-fySum<0)
        {
         newAlert_Top("都亏了!不用交税了!");

document.form1.textfield4.value=0;
        }
        if (srSum-yzSum-fySum>0)
        {
        document.form1.textfield4.value=

(srSum-yzSum-fySum)*20/100;
        }
        break;

      case 10:

document.form1.textfield4.value=srSum*20/100;
        break;

      case 11:

document.form1.textfield4.value=srSum*20/100;
        break;

    }

  }
//--------------------------------以下是算法--------------

//---------------------------------------
function Rate1(XSum)//工资薪金
  {
  var Rate;
  var Balan;
  var TSum;
  if (XSum<=500)
   {Rate=5;
   Balan=0;
   }
  if ((500<XSum) && (XSum<=2000))
   {Rate=10;
   Balan=25;
   }
  if ((2000<XSum) && (XSum<=5000))
   {Rate=15;
   Balan=125;
   }
  if ((5000<XSum) && (XSum<=20000))
   {Rate=20;
   Balan=375;
   }
  if ((20000<XSum) && (XSum<=40000))
   {Rate=25;
   Balan=1375;
   }
  if ((40000<XSum) && (XSum<=60000))
   {Rate=30;
   Balan=3375;
   }
  if ((60000<XSum) && (XSum<=80000))
   {Rate=35;
   Balan=6375;
   }
  if ((80000<XSum) && (XSum<=100000))
   {Rate=40;
   Balan=10375;
   }
  if (XSum>100000)
   {Rate=45;
   Balan=15375;
   }
   TSum=(XSum*Rate)/100-Balan
   if (TSum<0)
   {
    TSum=0
   }
   return TSum
  }

function Rate2(XSum)
  {
  var Rate;
  var Balan;
  var TSum;
  if (XSum<=5000)
   {Rate=5;
   Balan=0;
   }
  if ((5000<XSum) && (XSum<=10000))
   {Rate=10;
   Balan=250;
   }
  if ((10000<XSum) && (XSum<=30000))
   {Rate=20;
   Balan=1250;
   }
  if ((30000<XSum) && (XSum<=50000))
   {Rate=30;
   Balan=4250;
   }
  if (50000<XSum)
   {Rate=35;
   Balan=6750;
   }
   TSum=(XSum*Rate)/100-Balan;
   if (TSum<0)
   {
    TSum=0
   }
   return TSum
  }

function R4568(XSum)
 {
 var TSum
  if (XSum<=4000)
  {
  TSum=(XSum-2000)*20/100;
  }
  if (XSum>4000)
  {
  TSum=(XSum-(XSum*20/100))*20/100
  }
  if (TSum<0)
  {
    TSum=0
  }
  return TSum
 }
 function gong()
 {
 var qznum
 var ff
 qznum=document.form1.textfield3.value;
 ff=document.all.checkbox.checked;
 if (ff)
 {
 document.form1.textfield3.value=4000;
 }
 if (!ff)
 {
 document.form1.textfield3.value=2000;
 }
 }

function Rate3(XSum)/*劳务报酬*/
{
 var TSum
 var Rate
 var Balan
 if (XSum<=20000)
 {
  Rate=20;
  Balan=0;
 }
 if ((XSum>20000) && (XSum<=50000))
 {
  Rate=30;
  Balan=2000;
 }
 if (XSum>50000)
 {
  Rate=40;
  Balan=7000;
 }
 if (XSum<=4000)
 {
  XSum=XSum-800;
 }
 if (XSum>4000)
 {
  XSum=XSum-(XSum*20/100);
 }

 TSum=XSum*Rate/100-Balan;

 if (TSum<0)
 {
  TSum=0
 }
 return TSum
}

function CHan()
{
 if (document.form1.select.selectedIndex==0)
 {
  document.all.gongzi.style.display="block";
  document.all.fei.style.display="block";
 }
 if (document.form1.select.selectedIndex!=0)
 {
  document.all.gongzi.style.display="none";
  document.all.fei.style.display="none";
 }
 if (document.form1.select.selectedIndex+1!=9)
 {
  document.all.fei1.style.display="none";
 }
 if (document.form1.select.selectedIndex+1==9)
 {
  document.all.fei1.style.display="block";
 }

}

//-->
   </SCRIPT>

<script type="text/javascript">
var item=new Array(

  new Array('银行类工具(存款)',//<-- 大类名,下面几行则为此类下的所有计算器
    new Array(
      new Array('通知存款计算器','http://finance.sina.com.cn/283/2005/0704/2.html'),//<-- 此2项分别为“计算器名”,“链接”
      new Array('整存零取计算器','http://finance.sina.com.cn/283/2005/0711/24.html'),
      new Array('最佳存款组合','http://finance.sina.com.cn/283/2005/0711/30.html'),
      new Array('整(零)存整取计算器','http://finance.sina.com.cn/283/2005/0711/29.html'),
      new Array('活期储蓄计算器','http://finance.sina.com.cn/283/2005/0711/28.html')
       //<-- 依次向下罗列,最后一行“)”后没有“,”
    )
  ), //<-- 非结尾大类后有“,”

  new Array('银行类工具(贷款)',//<-- 另一个大类
    new Array(
      new Array('等额本息还款计算器','http://finance.sina.com.cn/283/2005/0704/3.html'),
      new Array('等额本金还款计算器','http://finance.sina.com.cn/283/2005/0704/1.html'),
      new Array('提前还贷计算器','http://finance.sina.com.cn/283/2005/0708/18.html'),
      new Array('公积金贷款额度年限计算器','http://finance.sina.com.cn/283/2005/0704/6.html')//<-- 最后一行“)”后没有“,”
    )
  ), //<-- 非结尾大类后有“,”

  new Array('保险类工具',//<-- 另一个大类
    new Array(
      new Array('基本养老保险计算器','http://finance.sina.com.cn/283/2005/0704/10.html'),
      new Array('基本医疗保险计算器','http://finance.sina.com.cn/283/2005/0708/11.html'),
      new Array('工伤保险计算器','http://finance.sina.com.cn/283/2005/0704/5.html'),
      new Array('失业保险','http://finance.sina.com.cn/283/2005/0708/16.html'),
      new Array('住房公积金计算器','http://finance.sina.com.cn/283/2005/0711/23.html'),
      new Array('退休时每月领取的养老保险金估算计算器','http://finance.sina.com.cn/283/2005/0708/20.html')
    )
  ),

  new Array('股票类工具',//<-- 另一个大类
    new Array(
      new Array('股票收益计算器 ','http://finance.sina.com.cn/283/2005/0704/8.html')

    )
  ),

  new Array('基金类工具',//<-- 另一个大类
    new Array(
      new Array('基金买卖计算器','http://finance.sina.com.cn/283/2005/0708/12.html')
    )
  ),

  new Array('期货类工具',//<-- 另一个大类
    new Array(
      new Array('期货理财计算器 ','http://finance.sina.com.cn/283/2005/0708/14.html')
    )
  ),

  new Array('债券类工具',//<-- 另一个大类
    new Array(
      new Array('债券收益率计算器','http://finance.sina.com.cn/283/2005/0711/25.html')
    )
  ),

  new Array('外汇',//<-- 另一个大类
    new Array(
      new Array('外汇储蓄计算器','http://finance.sina.com.cn/283/2005/0711/27.html'),
      new Array('外汇兑换计算器','http://finance.sina.com.cn/283/2005/0711/26.html')
    )
  ),

  new Array('税务类',//<-- 另一个大类
    new Array(
      new Array('买房税费计算器','http://finance.sina.com.cn/283/2005/0708/17.html'),
      new Array('个人所得税计算器','http://finance.sina.com.cn/283/2005/0704/4.html')

    )
  ),

  new Array('理财规划类',//<-- 另一个大类
    new Array(
      new Array('理财规划计算器','http://finance.sina.com.cn/283/2005/0708/13.html'),
      new Array('子女教育基金计算器','http://finance.sina.com.cn/283/2005/0711/21.html'),
      new Array('投资收益计算器','http://finance.sina.com.cn/283/2005/0708/19.html'),
      new Array('资产净值计算器','http://finance.sina.com.cn/283/2005/0711/22.html'),
      new Array('黄金理财计算器','http://finance.sina.com.cn/283/2005/0704/9.html')
    )
  ),
  new Array('买车计算',//<-- 另一个大类
    new Array(
      new Array('购车综合计算器','http://finance.sina.com.cn/283/2005/0708/15.html')
    )
  ),

  new Array('购房计算',//<-- 另一个大类
    new Array(
      new Array('购房能力评估计算器','http://finance.sina.com.cn/283/2005/0704/7.html'),
      new Array('提前还贷计算器','http://finance.sina.com.cn/283/2005/0708/18.html'),
      new Array('税费计算器','http://finance.sina.com.cn/283/2005/0708/17.html'),
      new Array('公基金贷款额度年限计算器','http://finance.sina.com.cn/283/2005/0704/6.html'),
      new Array('等额本金还款法计算器','http://finance.sina.com.cn/283/2005/0704/1.html'),
      new Array('等额本息还款法计算器','http://finance.sina.com.cn/283/2005/0704/3.html')

    )
  )

);

//--------------

var img0 =new Image();
img0.src="http://image2.sina.com.cn/cj/toolsjs/cj_jsq_lj_010.gif";
var img1 =new Image();
img1.src="http://image2.sina.com.cn/cj/tools4.gif";

function ShowItem (itemId)
{
  for (var i = 0; i < item.length; i++)

  {
    eval('document.images["tImg' +i+ '"].src ="http://image2.sina.com.cn/cj/toolsjs/cj_jsq_lj_010.gif"');
    eval('document.all.item' + i +'.style.display = "none"');
    eval('document.all.menu' + i +'.style.background= "#1e86b0"');
    eval('document.all.menu' + i +'.style.color= "#ffffff"');

  }
  eval('document.images["tImg' +itemId + '"].src ="http://image2.sina.com.cn/cj/toolsjs/cj_jsq_lj_011.gif"');
  eval('document.all.item' + itemId +'.style.display = "block"');
  eval('document.all.menu' + itemId +'.style.background= "#0268CE"');
  eval('document.all.menu' +itemId+'.style.color= "#ffffff"');
}

</script>

<META content="MSHTML 6.00.6000.16640" name=GENERATOR></HEAD>
<BODY bgColor=#ffffff topMargin=5 marginheight="5">
<CENTER>
<TABLE cellSpacing=0 width=500>
 <FORM name=form1>
 <TBODY>
 <TR>
  <TD height=1></TD></TR>
 <TR>
  <TD>
   <TABLE style="MARGIN-LEFT: 48px" cellSpacing=0 width=476 align=center>
    <TBODY>
    <TR>
     <TD class=cBlue style="padding-: 7px" vAlign=bottom align=middle
     height=39><FONT color=#ff00ff size=4> 个人所得税计算公式
      </FONT></TD></TR>
    <TR>
     <TD background="/OA/images/cj_jsq_lj_006.gif"
    height=1></TD></TR></TBODY></TABLE>
   <TABLE class=cBlue style="MARGIN: 18px 0px 10px 38px" cellSpacing=0>
    <TBODY>
    <TR>
     <TD style="padding-: 2px">收入类型:</TD>
     <TD><SELECT id=select onchange=CHan() name=select> <OPTION value=1
       selected>工资、薪金所得<OPTION value=2>个体工商户生产、经营所得<OPTION
       value=3>对企事业单位的承包经营、承 租经营所得<OPTION value=4>劳务报酬所得<OPTION
       value=5>稿酬所得<OPTION value=6>特许权使用所得<OPTION
       value=7>利息、股息、红利所得<OPTION value=8>财产租赁所得<OPTION
       value=9>财产转让所得<OPTION value=10>偶然所得(如:中奖、中彩)<OPTION
       value=11>被确定征税的其他部分</OPTION></SELECT></TD></TR>
    <TR>
     <TD height=5></TD></TR>
    <TR>
     <TD></TD>
     <TD>
      <TABLE id=gongzi style="DISPLAY: block" cellSpacing=0
       width="100%"><TBODY>
       <TR>
        <TD><!--<INPUT name=checkbox

onclick=gong() type=checkbox value=checkbox>外籍人员及境外

工作的中国公民--></TD></TR></TBODY></TABLE></TD></TR>
    <TR>
     <TD height=10></TD></TR>
    <TR>
     <TD class=cBlue style="PADDING-TOP: 2px" width=60>收入金额:</TD>
     <TD><INPUT id=textfield name=textfield> 元 </TD></TR>
    <TR>
     <TD height=12></TD></TR>
    <TR>
     <TD colSpan=2>
      <TABLE class=cblue id=fei style="DISPLAY: block" cellSpacing=0
      cellPadding=0 width="100%" border=0>
       <TBODY>
       <TR>
        <TD>各项社会保险费: <INPUT id=textfield2 value=0 name=textfield2>
        <BR></TD></TR>
       <TR>
        <TD height=12></TD></TR>
       <TR>
        <TD>起  征  额: <INPUT id=textfield3 value=2000
        name=textfield3></TD></TR>
       <TR>
        <TD><br />注:根据税收规定,个人所得
     税的起征点为2000元,2008年3月1日起施行。</TD></TR></TBODY></TABLE></TD></TR>
    <TR>
     <TD colSpan=2>
      <TABLE class=cblue id=fei1 style="DISPLAY: none; MARGIN-LEFT: 43px"
      cellSpacing=0 cellPadding=0 width="100%" border=0>
       <TBODY>
       <TR>
        <TD align=right width=100>财产原值:</TD>
        <TD><INPUT id=textfield22 value=0 name=textfield22></TD></TR>
       <TR>
        <TD height=5></TD></TR>
       <TR>
        <TD align=right width=100>合理交易费用:</TD>
        <TD><INPUT id=textfield33 value=0
       name=textfield32></TD></TR></TBODY></TABLE></TD></TR>
    <TR>
     <TD height=10></TD></TR>
    <TR>
     <TD></TD>
     <TD><INPUT style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BACKGROUND-IMAGE: url(http://image2.sina.com.cn/cj/toolsjs/cj_jsq_lj_015.gif); BORDER-LEFT: 0px; WIDTH: 47px;CURSOR: pointer; BORDER-BOTTOM: 0px; HEIGHT: 19px" onclick=validateFormInfo(this.form,1) type=button name=button>
         </TD></TR></TBODY></TABLE></TD></TR>
 <TR>
   <TD height=1></TD></TR>
 <TR>
   <TD>
     <TABLE style="MARGIN-LEFT: 48px" cellSpacing=0 width=476>
       <TBODY>
       <TR>
         <TD class=cBlue style="padding-: 7px" vAlign=bottom
           height=39>计算结果 </TD></TR>
       <TR>
         <TD background="/OA/images/cj_jsq_lj_006.gif"
       height=1></TD></TR></TBODY></TABLE>
     <TABLE class=cBlue style="MARGIN: 18px 0px 27px 13px" cellSpacing=0>
       <TBODY>
       <TR>
         <TD class=cBlue style="PADDING-TOP: 2px" align=right
           width=170>您应交纳的个人所得税 为:</TD>
         <TD><INPUT id=textfield4 name=textfield4> 元
 。</TD></TR></TBODY></TABLE></TD></TR></TBODY></FORM></TABLE></CENTER></BODY></HTML>

以上所述就是本文的全部内容了,希望大家能够喜欢。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索javascript
, 计算器
个人所得税
javascript实现计算器、javascript个人所得税、合理避个人所得税技巧、个人所得税避税技巧、个人所得税收付实现制,以便于您获取更多的相关知识。

时间: 2024-09-11 21:50:11

Javascript实现计算个人所得税_javascript技巧的相关文章

javascript 异常处理使用总结_javascript技巧

JavaScript中的异常可以用try..catch..finally语句来处理,也可以手动的来抛出异常. 1.使用try..catch..finally语句来处理异常 js代码在执行过程中如果出现异常,会手动创建一个异常类对象,该异常类对象将被提交给浏览器,这个过程称为"抛出异常".当浏览器接收到一场对象时,会寻找能处理这一异常的代码并把当前异常对象提交给其处理,这一过程被称为"捕获异常".try..catch..finally语句的基本语法格式为: 复制代码

web性能优化之javascript性能调优_javascript技巧

JavaScript 是一个比较完善的前端开发语言,在现今的 web 开发中应用非常广泛,尤其是对 Web 2.0 的应用.随着 Web 2.0 越来越流行的今天,我们会发现:在我们的 web 应用项目中,会有大量的 JavaScript 代码,并且以后会越来越多.JavaScript 作为一个解释执行的语言,以及它的单线程机制,决定了性能问题是 JavaScript 的软肋,也是 web 软件工程师们在写 JavaScript 需要高度重视的一个问题,尤其是针对 Web 2.0 的应用.绝大多

纯javascript实现自动发送邮件_javascript技巧

描述: 此JavaScript将帮助你的电子邮件的人.只要按一下电子邮件,有人!和JavaScript会要求的电子邮件地址,主题,等等然后你,新的邮件,是向你打开了. <SCRIPT LANGUAGE="JavaScript"> <!-- Begin function mailsome1(){ who=prompt("Enter recipient's email address: ","antispammer@earthling.net

javascript 用记忆函数快速计算递归函数_javascript技巧

如果有一个 fibonacci 数列要计算: 复制代码 代码如下: var fibonacci = function (n) { return n < 2 ? n : fibonacci(n - 1) + fibonacci(n - 2); }; 恐怕数字一大浏览器就会崩掉了,因为运算过程中函数会有大量重复的计算.但 JavaScript 强大的数组和函数闭包可以轻松实现对已计算的结果记忆.运算速度会有指数级的提高. 小而强大的记忆函数: 复制代码 代码如下: var memoizer = fu

javascript图像处理—边缘梯度计算函数_javascript技巧

前言 上一篇文章,我们讲解了图像处理中的膨胀和腐蚀函数,这篇文章将做边缘梯度计算函数. 图像的边缘 图像的边缘从数学上是如何表示的呢? 图像的边缘上,邻近的像素值应当显著地改变了.而在数学上,导数是表示改变快慢的一种方法.梯度值的大变预示着图像中内容的显著变化了. 用更加形象的图像来解释,假设我们有一张一维图形.下图中灰度值的"跃升"表示边缘的存在: 使用一阶微分求导我们可以更加清晰的看到边缘"跃升"的存在(这里显示为高峰值): 由此我们可以得出:边缘可以通过定位梯

Vue.js教程之计算属性_javascript技巧

Vue.js 的内联表达式非常方便,但它最合适的使用场景是简单的布尔操作或字符串拼接.如果涉及更复杂的逻辑,你应该使用计算属性. 计算属性是用来声明式的描述一个值依赖了其它的值.当你在模板里把数据绑定到一个计算属性上时,Vue 会在其依赖的任何值导致该计算属性改变时更新 DOM.这个功能非常强大,它可以让你的代码更加声明式.数据驱动并且易于维护. 通常情况下,使用计算属性会比使用过程式的$watch回调更合适.比如下面的例子: <div id="demo">{{fullNa

超实用的javascript时间处理总结_javascript技巧

前言 大家在前端Javascript开发中常会遇到处理日期时间的问题,经常会拿来一大堆处理函数才能完成一个简单的日期时间显示效果.为了提高网站的开发速度,可以把主代码封装在一个单独的函数里面,在需要的时候直接调用,下面看看给大家总结的一些时间处理类.大家需要的时候直接调用就可以了. var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-????) myDate

如何改进javascript代码的性能_javascript技巧

本来在那片编写可维护性代码文章后就要总结这篇代码性能文章的,耽搁了几天,本来也是决定每天都要更新一篇文章的,因为以前欠下太多东西没总结,学过的东西没去总结真的很快就忘记了,记录一下在你脑力留下更深的印象,特别是这些可维护性代码,性能什么的,当在你脑子里形成一种习惯了,那你就牛了!这里也要给初学者一个建议:多总结你学过的东西,因为这其实也是在学习新知识! 好,进入我们的主题:如何提高JS代码的性能. 1.优化DOM交互 DOM与我们的页面紧密相关,浏览器渲染页面也就是在渲染解析后的DOM元素,DO

javascript常用功能汇总_javascript技巧

1.javascript的数组API: //定义数组 var pageIds = new Array(); pageIds.push('A'); 数组长度 pageIds.length; //shift:删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefined var a = [1,2,3,4,5]; var b = a.shift(); //a:[2,3,4,5] b:1 //unshift:将参数添加到原数组开头,并返回数组的长度 var a = [1,2,3,4,5];