第一组:姚成栋 SVN问题
因为还没有申请SVN账号,所以一直在用欢哥的账号,这个账号被三个人同时使用,之前一直没什么事情,但是昨天突然出现了一个奇奇怪怪的问题,如下图:
image.png这个PD中的model和UImodel不知道被谁锁上了,没办法解锁(因为PD只能由锁上的那台机子来解锁),但是使用这个账号的三台电脑都无法解锁(可能是bug了),再多次尝试无解之后,发现了SVN的一个新东西——偷锁操作。
下图是被别的账号锁上想继续操作的报错页面:
image.png下图Steal the lock就是偷锁操作:
image.png
在get lock的时候点上steal the lock(TortoiseSVN下操作,其他软件具体操作不大清楚),然后就可以成功的再次get lock了。
第二组:冯佳丽 C#中数组、ArrayList和List的总结
数组的容量是固定的,您只能一次获取或设置一个元素的值,而ArrayList或List<T>的容量可根据需要自动扩充、修改、删除或插入数据。
数组可以具有多个维度,而 ArrayList或 List< T> 始终只具有一个维度。但是,您可以轻松创建数组列表或列表的列表。特定类型(Object 除外)的数组 的性能优于 ArrayList的性能。 这是因为 ArrayList的元素属于 Object 类型;所以在存储或检索值类型时通常发生装箱和取消装箱操作。不过,在不需要重新分配时(即最初的容量十分接近列表的最大容量),List< T> 的性能与同类型的数组十分相近。
在决定使用 List<T> 还是使用ArrayList 类(两者具有类似的功能)时,记住List<T> 类在大多数情况下执行得更好并且是类型安全的。如果对List< T> 类的类型T 使用引用类型,则两个类的行为是完全相同的。但是,如果对类型T使用值类型,则需要考虑实现和装箱问题。
详细内容见相关文件。
第三组:黄华英 泛型方法和 页面元素批量操作
1. 泛型方法
想将一个方法通用化,例如遇到的情况是,ABC三表当中的内容都需要执行插入D表的操作,调用同一个泛型方法,避免代码重复
public void DemoObject < T > (T from, T to) //不定义具体类型,from 赋值给to
{
//如果两个类中大部分字段相同,需要将其中一个类的字段赋值给另外一个类
//可以通过PropertyInfo实现
PropertyInfo[] propertyFroms = from.GetType().GetProperties(); //获取类字段
PropertyInfo[] propertyTos = to.GetType().GetProperties();
int lenTo = propertyTos.Length;
for (int i = 0, l = propertyFroms.Length; i < l; i++) {
for (int j = 0; j < lenTo; j++) {
//按字段名逐一赋值
if (propertyTos[j].Name != propertyFroms[i].Name) continue;
propertyTos[j].SetValue(to, propertyFroms[i].GetValue(from, null), null);
break;
}
}
}
2. 页面元素批量操作
例如禁用:根据标签对标签中所有元素进行操作
$("div *").attr("disabled",true);
根据ID将容器中所有元素进行操作
$("#TableID *").attr("disabled", true);
将所有表单的所有表单控件的readonly全部设置为readonly(全部只读)
$("form input").prop("readonly", true);
要注意的是如果直接使用input选择器的话,包括了按钮。所以要排除按钮、隐藏域之类的input的话要使用not选择器
$("input:not(:button,:hidden)").prop("readonly", true);
第四组:王芳 Console
-
Console是chrome的控制台,打开f12就可以找到了,在这里你可以看到网页中的所有报错信息和提示信息,也可以使用一些方法来对js进行调试。
-
如果想清空控制台,可以点击左上角的
-
一般情况下我们用来输入信息的方法主要是如下五个:
- console.log 用于输出普通信息
- console.info 用于输出提示性信息
- console.error 用于输出错误信息
- console.warn 用于输出警示信息
- console.debug 用于输出调试信息
-
console.dirxml用来显示网页的某个节点(node)所包含的html/xml代码
-
console.group输出一组信息的开头
-
console.groupEnd结束一组输出信息
-
console.assert对输入的表达式进行断言,只有表达式为false时,才输出相应的信息到控制台
-
console.count这个方法非常实用哦,可以统计代码被执行的次数
-
console.dir这个方法是我经常使用的 可不知道比for in方便了多少。直接将该DOM结点以DOM树的结构进行输出,可以详细查对象的方法发展等等
-
console.time 计时开始
-
console.timeEnd 计时结束
-
console.profile和console.profileEnd配合一起使用来查看CPU使用相关信息
-
console.timeLine和console.timeLineEnd配合一起记录一段时间轴
-
console.trace 堆栈跟踪相关的调试
附详细链接:https://segmentfault.com/a/1190000002511877
第五组:姜葳 Js通过变量名调用函数
- 方法一:
if(aMethod && aMethod in window){//判断是否是函数名
var func = "test";
window[func]("AAA");
function test(paras) {
alert("弹出吗?"+paras);
}
- 方法二:
var fun_name="fun1";
执行方法:eval(fun_name+"()");
function fun1(){
alert("this is alert !")
}
网友评论