2017.11.27 JS变量声明标识符、浮点值运算、 数组、Try catch、.NET几种弹出框方法

第一组: 杨昊 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);

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,907评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,987评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,298评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,586评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,633评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,488评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,275评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,176评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,619评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,819评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,932评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,655评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,265评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,871评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,994评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,095评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,884评论 2 354

推荐阅读更多精彩内容

  • 早起,晚上不瞌睡早上起不来也是要命了,外加下雨天,在床上发呆,担心去公司要背书,各种墨迹打算迟到,最终到公司还很早...
    w尺素寸心阅读 188评论 0 0
  • 曾经沧海难为水,除却巫山不是云;取次花丛懒回顾,半缘修道半缘君
    帅气的荣幸阅读 124评论 0 0
  • 染指流沙,回绕不尽的世间繁华;青灯孤伴,镌刻不完的午夜落花;锦帛残卷,撰写不到的城南旧事;蓦然回首,消逝不见的绝美...
    弄野阅读 642评论 0 1
  • “我写作,不是为了名声,也不是为了特定的读者,我写作是为了光阴流逝使我心安。”——博尔赫斯 我为什么写作?王小波说...
    紫蒲溪溪主阅读 302评论 5 10
  • 闺密在若干年前去爱尔兰半工半读,后来结识了同是故乡人的南京小伙。于是在那买房生娃定居爱尔兰都博林。 因着这...
    雪中红围巾阅读 209评论 0 0