㈠ js编写四则运算函数,使用switch判断运算符号
#include <stdio.h>
int main(int argc, char **argv)
{ 
 double operand1;
 double operand2;
 char operator[1];
 while (1)
 {
  printf("输入数值和运算符(数值->运算符->数值):");
  scanf("%lf%c%lf", &operand1,&operator[0], & operand2);
  switch (operator[0])
  {
  case '+': printf("%.2lf\n", operand1 + operand1);
   break;
  case '-': printf("%.2lf\n", operand1 - operand2);
   break;
  case '*': printf("%.2f\n", operand1 * operand2);
   break;
  case '/': if (operand2 == 0)
   {
    printf("invalid operand!\n");
    break;
   }
   printf("%.2f\n", operand1 / operand2);
   break;
  default: printf("unknown operator\n");
   break;
  }
 } 
}
㈡ js编写一个函数,计算两个数字的和、差、积、商(要求:使用传参的形式)
/**
**除法函数,用来得到精确的除法结果
**说明:javascript的除法结果会有误差,在两个浮点数相除的时候会比较明显。这个函数返回较为精确的除法结果。
**调用:accDiv(arg1,arg2)
**返回值:arg1除以arg2的精确结果
**/functionaccDiv(arg1,arg2){vart1=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){returnaccDiv(this,arg);
};/**
**乘法函数,用来得到精确的乘法结果
**说明:javascript的乘法结果会有误差,在两个浮点数相乘的时候会比较明显。这个函数返回较为精确的乘法结果。
**调用:accMul(arg1,arg2)
**返回值:arg1乘以arg2的精确结果
**/functionaccMul(arg1,arg2){varm=0,s1=arg1.toString(),s2=arg2.toString();try{
m+=s1.split(".")[1].length;
}catch(e){
}try{
m+=s2.split(".")[1].length;
}catch(e){
}returnNumber(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m);
}//给Number类型增加一个mul方法,调用起来更加方便。Number.prototype.mul=function(arg){returnaccMul(arg,this);
};/**
**减法函数,用来得到精确的减法结果
**说明:javascript的减法结果会有误差,在两个浮点数相减的时候会比较明显。这个函数返回较为精确的减法结果。
**调用:accSub(arg1,arg2)
**返回值:arg1加上arg2的精确结果
**/functionaccSub(arg1,arg2){varr1,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));//lastmodifybydeeka//动态控制精度长度
n=(r1>=r2)?r1:r2;return((arg1*m-arg2*m)/m).toFixed(n);
}//给Number类型增加一个mul方法,调用起来更加方便。Number.prototype.sub=function(arg){returnaccMul(arg,this);
};/**
**加法函数,用来得到精确的加法结果
**说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果。
**调用:accAdd(arg1,arg2)
**返回值:arg1加上arg2的精确结果
**/functionaccAdd(arg1,arg2){varr1,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){varcm=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){returnaccAdd(arg,this);
};
㈢ 求一个JS对时间运算的函数,最好用时间戳
/**
 * 获取指定时间戳n小时之前的时间
 * @current  {Timestamp}  时间戳,精确到毫秒
 * @n        {Number}     要减去的小时
 * @Return   {String}     格式化后的时间
 */
var parser = function (current, n) {
  if (arguments.length < 2)
    throw new Error("缺少参数!");
  if (current.constructor !== Number || n.constructor !== Number)
    throw new Error("参数类型错误");
  // 计算n小时之前的时间戳
  n = current - n * 3600 * 1000;
  // 如果计算出的时间小于0,则返回传入的时间
  if (current < 0)
    n = current;
  // 获取年月日时间
  n = new Date(n);
  n = {
    year:   n.getFullYear(),
    month:  n.getMonth() + 1,
    day:    n.getDate(),
    hour:   n.getHours(),
    minute: n.getMinutes(),
    second: n.getSeconds()
  };
  // 格式化时间
  var fill = function (num) {
    return (num < 10 ? '0' + num : num);
  };
  n = '{' + n.year + '-' + fill(n.month) + '-' + fill(n.day) + ' ' + fill(n.hour) + ':' + fill(n.minute) + ':' + fill(n.second) + '}';
  return n;
}
获取当前时间戳 var current = (new Date()).getTime()
㈣ 用js写一个函数,计算出字符串的长度
//GBK字符集实际长度计算
functiongetStrLeng(str){
varrealLength=0;
varlen=str.length;
varcharCode=-1;
for(vari=0;i<len;i++){
charCode=str.charCodeAt(i);
if(charCode>=0&&charCode<=128){
realLength+=1;
}else{
//如果是中文则长度加2
realLength+=2;
}
}
returnrealLength;
}
//UTF8字符集实际长度计算
functiongetStrLeng(str){
varrealLength=0;
varlen=str.length;
varcharCode=-1;
for(vari=0;i<len;i++){
charCode=str.charCodeAt(i);
if(charCode>=0&&charCode<=128){
realLength+=1;
}else{
//如果是中文则长度加3
realLength+=3;
}
}
returnrealLength;
}
在JS中字符串的长度不分中英文字符, 每一个字符都算一个长度,这跟PHP里的strlen()函数就不太一样。PHP里的strlen()函数根据字符集把GBK的中文每个2累加,把UTF-8的中文字符每个按3累加。主要是为了匹配数据库的长度范围内,比如GBK的数据库某字段是varchar(10),那么就相当于5个汉字长度,一个汉字等于两个字母长度。如果是UTF8的数据库则是每个汉字长度为3。
㈤ javascript中函数是什么意思
( function(){…} )()和( function (){…} () )是两种javascript立即执行函数的常见写法,要理解立即执行函数,需要先理解一些函数的基本概念。
函数声明:
function fnName () {…};使用function关键字声明一个函数,再指定一个函数名,叫函数声明。
函数表达式:
var fnName = function () {…};使用function关键字声明一个函数,但未给函数命名,最后将匿名函数赋予一个变量,叫函数表达式,这是最常见的函数表达式语法形式。
匿名函数:
function () {}; 使用function关键字声明一个函数,但未给函数命名,所以叫匿名函数,匿名函数属于函数表达式,匿名函数有很多作用,赋予一个变量则创建函数,赋予一个事件则成为事件处理程序或创建闭包等等。
函数声明和函数表达式不同之处在于:
一、Javascript引擎在解析javascript代码时会‘函数声明提升'(Function declaration Hoisting)当前执行环境(作用域)上的函数声明。
而函数表达式必须等到Javascirtp引擎执行到它所在行时,才会从上而下一行一行地解析函数表达式。
二、函数表达式后面可以加括号立即调用该函数,函数声明不可以,只能以fnName()形式调用。
在function前面加!、+、 -甚至是逗号等到都可以起到函数定义后立即执行的效果,而()、!、+、-、=等运算符,都将函数声明转换成函数表达式。
消除了javascript引擎识别函数表达式和函数声明的歧义,告诉javascript引擎这是一个函数表达式,不是函数声明,可以在后面加括号,并立即执行函数的代码。

(5)js运算函数扩展阅读
作用:
javascript中没用私有作用域的概念,如果在多人开发的项目上,你在全局或局部作用域中声明了一些变量,可能会被其他人不小心用同名的变量给覆盖掉。
根据javascript函数作用域链的特性,可以使用这种技术可以模仿一个私有作用域,用匿名函数作为一个“容器”。
“容器”内部可以访问外部的变量,而外部环境不能访问“容器”内部的变量,所以( function(){…} )()内部定义的变量不会和外部的变量发生冲突,俗称“匿名包裹器”或“命名空间”。
JQuery使用的就是这种方法,将JQuery代码包裹在( function (window,undefined){…jquery代码…} (window)中,在全局作用域中调用JQuery代码时,可以达到保护JQuery内部变量的作用。
㈥ js中的函数
好像没有直接的办法,不过一步亦可以搞定:(利用正则表达式+字符串处理函数)<script>
var a = "aaa13bbb22";
alert(parseInt(a.substring(a.search(/\d/))));
</script>
㈦ js如何向函数输入运算符
1.运算符
  1.赋值运算符和扩展运算符
    1.赋值运算符 =
    2.扩展运算符
      +=,-=,*=,/=,%=,^=....
      ex:
        a=a+b;--> a+=b;
 a=a+1;--> a++,a+=1,++a
      实现两个数字的换位:
        a^=b;
 b^=a;
 a^=b;
  2.条件运算符
    条件运算符又称三目运算符。
    单目(一元)运算符,只需要一个操作数或表达式。
     ex:++,--,!
    双目(二元)运算符,需要两个操作或表达式
     ex:+,-,*,/,%,>,<,>=,<=,==,===,!=,!==,&,|,^,&&,||
    三目(三元)运算符,需要三个表达式或操作数。
    语法:
       条件表达式?表达式1:表达式2;
       先判断条件表达式的值,如果条件为true,则执行表达式1,如果条件为false,则执行表达式2。
    ex:
      从弹出框中输入成绩,如果成绩大于60,则输出及格,否则输出不及格。
    练习:
      从弹出框中输入成绩:
        如果成绩等于100,则输出"奖励1000元",
 如果成绩>=90,则输出"奖励100元",
 如果成绩>=70,则输出"奖励10元素",
 否则,输出"请大家吃饭"。
㈧ js中三角函数sin\cos\tan\cot角度计算
正弦(sin)         sinA = a / c           sinθ = y / r
   余弦(cos)        cosA = b / c          cosθ = y / r
   正切(tan)         tanA = a / b          tanθ = y / x
   余切(cot)         cotA = b / a          cotθ = x / y
   js中计算三角函数用Math.sin()等静态方法,参数为弧度
  
 角度与弧度都是角的度量单位
                                          
 1弧度时,弧长等于半径,那弧长是半径的倍数就是弧度了
   弧度 = 弧长 / 半径
   弧长 = 弧度 * 半径
   弧长 = (角度 / 360) * 周长
  
 角度 = 弧长 / 周长 = 弧长/(2πr) = 弧度*r/(2πr) = 弧度/(2π)
   弧度 = 弧长 / 半径 = [(角度 / 360) * 周长] / 半径 =[ (角度 / 360) * 2πr] / r =  角度 * π / 180
㈨ JS中几种常见的高阶函数
高阶函数:英文叫Higher-order function。JavaScript的函数其实都指向某个变量。既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。
  
 一个最简单的高阶函数:
  
 编写高阶函数,就是让函数的参数能够接收别的函数。
  
 下面介绍三个高阶函数:
  
 一、map/rece
  
 如果你读过Google的那篇大名鼎鼎的论文“MapRece: Simplified Data Processing on Large Clusters”,你就能大概明白map/rece的概念。由于map()方法定义在JavaScript的Array中,我们调用Array的map()方法,传入我们自己的函数,就得到了一个新的Array作为结果:
  
 1、map():
  
 所以,map()作为高阶函数,事实上它把运算规则抽象了,因此,我们不但可以计算简单的f(x)=x2,还可以计算任意复杂的函数,比如,把Array的所有数字转为字符串:
  
 2、rece():
  
 再看rece的用法。Array的rece()把一个函数作用在这个Array的[x1, x2, x3...]上,这个函数必须接收两个参数,rece()把结果继续和序列的下一个元素做累积计算,其效果就是:
  
 二、filter
  
 filter也是一个常用的操作,它用于把Array的某些元素过滤掉,然后返回剩下的元素。和map()类似,Array的filter()也接收一个函数。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是true还是false决定保留还是丢弃该元素。
  
 可见用filter()这个高阶函数,关键在于正确实现一个“筛选”函数。
  
 回调函数:filter()接收的回调函数,其实可以有多个参数。通常我们仅使用第一个参数,表示Array的某个元素。回调函数还可以接收另外两个参数,表示元素的位置和数组本身:
  
 三、sort排序算法
  
 因为Array的sort()方法默认把所有元素先转换为String再排序,结果'10'排在了'2'的前面,因为字符'1'比字符'2'的ASCII码小。如果不知道sort()方法的默认排序规则,直接对数字排序,绝对栽进坑里!
  
 幸运的是,sort()方法也是一个高阶函数,它还可以接收一个比较函数来实现自定义的排序。
㈩ js 常用到的几个数学函数
Visual Basic包含内置或内部抄的函数袭,如算术平方根、余弦函数和字符代码函数。此外,还可以用Function语句编写自己的Function函数过程。函数过程的语法是:
[Private |Public][Static] Function 过程名(声明)[As 类型]
语句
End Function
与子过程一样,函数过程也是一个独立的过程,可以读取参数,执行一系列语句并改变其参数的值。与子过程不同,函数过程可以返回一个值到调用的过程。
一般说来,让较大的语句或表达式的右边包含函数过程名和参数,这就调用了函数。
与变量完全一样,函数过程有数据类型,这就决定了返回值的类型(如果没有As子句,默认的数据类型为变体型)。
给过程名自身赋一个值,就可以返回这个值。函数过程返回一个值时,这个值可以成为较大表达式的一部分。
在Visual Basic中调用函数过程的方法和调用任何内部函数的过程是一样的。
希望我能帮助你解疑释惑。