第一组: 杨昊 JS中变量声明标识符var,let,const的区别
- const定义的变量不可以修改,而且必须初始化。
1 const b = 2;//正确
2 // const b;//错误,必须初始化
3 console.log('函数外const定义b:' + b);//有输出值
4 // b = 5;
5 // console.log('函数外修改const定义b:' + b);//无法输出
- 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
- 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
解决方案:通过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
用途:try catch 可以捕捉try部分的异常,当你没有try catch的时候,如果出现异常则程序报错,加上try catch,出现异常程序正常运行,只是把错误信息存储到Exception里,所以catch是用来提取异常信息的。Try中写你的正常代码,catch中写异常记录。
输出:try+两次Tab键。
写法:
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几种弹出框方法
点击页面上的按钮,弹出一个对话框提示是“确定”还是“取消”操作,我们采用在按钮中添加属性来完成:
public System.Web.UI.WebControls.Button btnDelRow;
btnDelRow.Attributes.Add("onclick", "return confirm('确定要删吗?');");点击页面上的按钮,弹出一个对话框提示是“确定”还是“取消”操作,选择“确定”或“取消”后跳转到相应的页面:
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>");对于页面完成一个操作后,弹出一个对话框提示是否“操作成功”。
Response.Write("<script>alert('删除成功!')</script>");对于页面完成一个操作后,弹出一个对话框提示是否“操作成功”后跳转到某一个页面。
Response.Write("<script>alert('删除成功!');
window.location.href ='www.cnblogs.com'</script>");允许 ASP.NET 服务器控件在 Page 中发出客户端脚本块:
public virtual void RegisterStartupScript(string key,string script);