美文网首页
2017.11.27 JS变量声明标识符、浮点值运算、 数组、

2017.11.27 JS变量声明标识符、浮点值运算、 数组、

作者: 胡諾 | 来源:发表于2017-11-28 08:56 被阅读0次

第一组: 杨昊 JS中变量声明标识符var,let,const的区别

  1. const定义的变量不可以修改,而且必须初始化。
1 const b = 2;//正确
2 // const b;//错误,必须初始化 
3 console.log('函数外const定义b:' + b);//有输出值
4 // b = 5;
5 // console.log('函数外修改const定义b:' + b);//无法输出 
  1. var定义的变量可以修改,如果不初始化会输出undefined,不会报错。
1 var a = 1;
2 // var a;//不会报错
3 console.log('函数外var定义a:' + a);//可以输出a=1
4 function change(){
5 a = 4;
6 console.log('函数内var定义a:' + a);//可以输出a=4
7 } 
8 change();
9 console.log('函数调用后var定义a为函数内部修改值:' + a);//可以输出a=4
  1. let是块级作用域,函数内部使用let定义后,对函数外部无影响。
1 let c = 3;
2 console.log('函数外let定义c:' + c);//输出c=3
3 function change(){
4 let c = 6;
5 console.log('函数内let定义c:' + c);//输出c=6
6 } 
7 change();
8 console.log('函数调用后let定义c不受函数内部定义影响:' + c);//输出c=3

PS:转载自 js中const,var,let区别


第二组:徐晋 解决浮点值运算bug

浮点值得精确计算。——JavaScript的浮点值运算,总会存在些奇怪的结果。

由于有些小数用二进制表示时是无穷的,故有些精确度丢失是无法避免的。

如:0.2+0.1的的运算结果实际上是:0.30000000000000004

image.png

解决方案:通过Math.pow(x,y)函数,返回x的y次幂。

如果结果是虚数或负数,则该方法将返回 NaN。如果由于指数过大而引起浮点溢出,则该方法将返回 Infinity。

1.  //加法  
2.  function FloatAdd(arg1, arg2) {  
3.      var r1, r2, m;  
4.      try { r1 = arg1.toString().split(".")[1].length } catch (e) { r1 = 0 }  
5.      try { r2 = arg2.toString().split(".")[1].length } catch (e) { r2 = 0 }  
6.      m = Math.pow(10, Math.max(r1, r2));  
7.      return (arg1 * m + arg2 * m) / m;  
8.  }  
1.  //减法  
2.  function FloatSub(arg1, arg2) {  
3.      var r1, r2, m, n;  
4.      try { r1 = arg1.toString().split(".")[1].length } catch (e) { r1 = 0 }  
5.      try { r2 = arg2.toString().split(".")[1].length } catch (e) { r2 = 0 }  
6.      m = Math.pow(10, Math.max(r1, r2));  
7.      //动态控制精度长度  
8.      n = (r1 >= r2) ? r1 : r2;  
9.      return ((arg1 * m - arg2 * m) / m).toFixed(n);  
10. }  
1.  //乘法  
2.  function FloatMul(arg1, arg2) {  
3.      var m = 0, s1 = arg1.toString(), s2 = arg2.toString();  
4.      try { m += s1.split(".")[1].length } catch (e) { }  
5.      try { m += s2.split(".")[1].length } catch (e) { }  
6.      return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m);  
7.  }  
1.  //除法  
2.  function FloatDiv(arg1, arg2) {  
3.      var t1 = 0, t2 = 0, r1, r2;  
4.      try { t1 = arg1.toString().split(".")[1].length } catch (e) { }  
5.      try { t2 = arg2.toString().split(".")[1].length } catch (e) { }  
6.      with (Math) {  
7.          r1 = Number(arg1.toString().replace(".", ""));  
8.          r2 = Number(arg2.toString().replace(".", ""));  
9.          return (r1 / r2) * pow(10, t2 - t1);  
10.     }  
11. }  

第三组:黄华英 数组

1. Intersect 交集,Except 差集,Union 并集

int[] oldArray = { 1, 2, 3, 4, 5 };
int[] newArray = { 2, 4, 5, 7, 8, 9 };
var Intersect = oldArray.Intersect(newArray).ToList();//2,4,5
var Except1 = oldArray.Except(newArray).ToList();//1,3
var Except2 = newArray.Except(oldArray).ToList();//7,8,9
var Union = oldArray.Union(newArray).ToList();//1,2,3,4,5,7,8,9

2. 方法
  • 数组中判定所有元素都满足条件才执行
    a.every(function(x){return x<10;})当数组中所有元素调用判定函数都返回true它才返回true

  • 数组中至少有一个元素调用判定函数返回true它就返回true
    a.some(function(x){return x<10;})

  • 将数组中所有元素转化为字符串并拼接在一起
    var a=[1,2,3];
    a.join();// “1,2,3”
    a. a.join(“ ”);// “1 2 3”空格作为分隔符
    a.join(“”);//“123”没有分隔符

  • 将数组中的元素颠倒顺序并且是在原数组中实现,并不创建新的数组
    num = 12345678;
    num.reverse();// 87654321

  • 将数组中元素排序并返回排序后的数组
    var a=[33,1111,4,222];
    a.sort();// [1111,222,33,4]默认按字母表的顺序排列
    var b=[‘ant’,’Bug’,’Dog’,’cat’];
    b.sort();// [‘Bug’,’Dog’,’ant’,’cat’]//默认区分大小写排序


第四组:王芳 Try catch

  1. 用途:try catch 可以捕捉try部分的异常,当你没有try catch的时候,如果出现异常则程序报错,加上try catch,出现异常程序正常运行,只是把错误信息存储到Exception里,所以catch是用来提取异常信息的。Try中写你的正常代码,catch中写异常记录。

  2. 输出:try+两次Tab键。

  3. 写法:

protected AjaxResult GetTrainCenterPDF(HttpContext context)
{
    try
    {
        LoongAir.ServiceBll.Service.Handlers.ResultTrainingCenter resultlist = LoongAir.Support.Consumer.QualifiedTrainingInterface.TrainingCenter.GetTrainingCenter();
        result.Data = resultlist.trainCenterList.ToArray();
        result.IsSuccess = true;
    }
    catch (Exception e)
    {
        result.IsSuccess = false;
        //日志记录
        OPLogger.Add(loginUser, "训练中心指南", "msg=" + e.Message + ",statck=" + e.StackTrace, OPLogType.Exception);
    }
    return result;
}

第五组:姜葳 .NET几种弹出框方法

  1. 点击页面上的按钮,弹出一个对话框提示是“确定”还是“取消”操作,我们采用在按钮中添加属性来完成:
    public System.Web.UI.WebControls.Button btnDelRow;
    btnDelRow.Attributes.Add("onclick", "return confirm('确定要删吗?');");

  2. 点击页面上的按钮,弹出一个对话框提示是“确定”还是“取消”操作,选择“确定”或“取消”后跳转到相应的页面:
    string strMsg, string strUrl_Yes, string strUrl_No;
    Response.Write("<Script Language='JavaScript'>if ( window.confirm('"+strMsg+"')) { window.location.href='" + strUrl_Yes +
    "' } else {window.location.href='"+ strUrl_No +"' };</script>");

  3. 对于页面完成一个操作后,弹出一个对话框提示是否“操作成功”。
    Response.Write("<script>alert('删除成功!')</script>");

  4. 对于页面完成一个操作后,弹出一个对话框提示是否“操作成功”后跳转到某一个页面。
    Response.Write("<script>alert('删除成功!');
    window.location.href ='www.cnblogs.com'</script>");

  5. 允许 ASP.NET 服务器控件在 Page 中发出客户端脚本块:
    public virtual void RegisterStartupScript(string key,string script);

相关文章

  • 2017.11.27 JS变量声明标识符、浮点值运算、 数组、

    第一组: 杨昊 JS中变量声明标识符var,let,const的区别 const定义的变量不可以修改,而且必须...

  • js 总结一 07-09

    ES6 一、js入门、js引入、变量、值类型、运算符 js引入代码如下 js变量代码如下: 值类型代码如下: 运算...

  • 每天总结一

    一、js总结一 js引入 js变量 值类型 引用值 运算符

  • 日更挑战-语言基础汇总-变量定义

    声明和赋值:强类型,弱类型 1. 确定类型 java 变量类型 标识符=值 C/C++ 变量类型 标识符=值 oc...

  • 容器

    容器 数组 一维数组 声明格式:变量类型[] 变量名={值1,值2,值3,值4,值5,...}或者变量类型[] 变...

  • JavaScript知识点总结

    JS概述 javscript : 1、ECMAScript js语法:标识符,关键字、变量、表达式、运算符、分支...

  • 2018-12-14数组

    ?????? 容器 容器 数组 一维数组 声明格式:①变量类型[] 变量名={值1,值2,值3,值4,值5,......

  • python基础 二

    1.变量 变量:在程序中用来保存数据的容器声明变量(定义)--假的声明变量名 = 值 说明:变量名(要求:标识符,...

  • #hello,JS:03-02 声明提前和立即执行函数

    一、声明提前 1、变量声明提前——变量提升 可参照这里的描述: #hello,JS:01数据类型、运算符、运算符优...

  • javaScript-02

    运算符 算数运算符 概念:算术运算使用的符号,用于执行两个变量或值的算术运算。 浮点数的精度问题浮点数值的最高精度...

网友评论

      本文标题:2017.11.27 JS变量声明标识符、浮点值运算、 数组、

      本文链接:https://www.haomeiwen.com/subject/xlcsbxtx.html