所有答案皆来自一个小菜鸟的手笔,看不看都行,主要看题目
JavaScript
- 把下面代码中每一个<li>添加一个click事件,事件弹出每个li的索引值
<html><head></head><body>
<ul>
<li>aaaa</li>
<li>bbbb</li>
<li>cccc</li>
<li>dddd</li>
</ul>
</body></html>
要求:不能更改原html标记,不可再HTML上添加任何属性,只可在HEAD内编写脚本
实现:
<script type="text/javascript">
window.onload = function () {
var uli = document.getElementsByTagName('li')
for (var i = 0; i < uli.length; i++) {
uli[i].setAttribute("i", i);
uli[i].onclick = function () {
alert(this.getAttribute("i"));
};
};
};
</script>
现要求使用时如下
urlObj.domain = “www.sina.com”;
urlObj.fileName=”abc.html”;
urlObj.params[“type”]=”1”;
urlObj.params[“class”]=”2”;…..参数不能写死,个数和名字不固定
实现:
function myfunction(httpurl) {
var strs = new Array();
var str = new Array();
strs = httpurl.split("/");
var strs1 = strs[2];//主域名
str = strs[3].split("?");
var str1 = str[0];//html地址
if (str.length > 1) {
var strss = new Array();
var parameter = new Array();
strss = str[1].split("&");
for (var i = 0; i < strss.length ; i++) {
parameter = strss[i].split("=");
parameter[0]//参数变量
parameter[1]//参数值
}
}
}
- 河马具有颜色和重量两个属性,和一个游泳、一个奔跑的行为。
现在有个厂家想根据河马做一些玩具,一个塑料河马一个机器河马,他俩都应该拥有河马的属性和行为,但是塑料河马不能奔跑,机器河马不能游泳。也就是说有其行为但是实现的方式不同,随便输出一些”能游泳”、“不能奔跑”等信息即可请用js面向对象的思想简单实现下这一场景。
要求:每个对象都是独立的,任何变化都不能影响另一个对象
实现:
写一个河马的类,有颜色和重量俩个属性,游泳和奔跑俩个虚方法;
塑料河马类和机器河马类都继承 河马类,俩个不同类型的河马,对河马类重写行为方法,实现不同的行为。
ASPNet
- 把下面这个函数改写成你认为最好的写法,不用vs,直接写在下面
public object GetEntity(string type)
{
If(type==”TestInfo”)
return new TestInfo();
if(type==”TestInfo2”)
return new TestInfo2();
return null;
}
实现:
public object GetEntity(string type)
{
switch(type)
{
case “TestInfo”:
return new TestInfo();
case “TestInfo2”:
return new TestInfo2();
default:
Return null;
}
}
- 自己实现NameValueCollection的Where扩展方法,只根据键筛选即可
实现:
不懂
- 有一块电池,当它电用光时和充满电的时候会告知使用者,现使用者为一个玩具狗和一个手机,玩具狗没电时亮红灯,充满时亮绿灯。手机没电时黑屏,充满时屏幕显示已充满,只简单输出一些信息即可,如RedLight、GreenLight、BlackScreen、ShowFull即可。用代码简单实现这一场景,并考虑到有各种各样的使用者,所有的代码写在一个cs文件中,写完复制到下面
实现:
/// <summary>
/// 电池容量显示状态
/// </summary>
/// <param name="surplus">容量</param>
/// <param name="type">使用的类型</param>
/// <returns></returns>
public string BatteryMethod(int surplus, string type)
{
switch (type)
{
case "dog":
if (surplus != 0)
{
return "GreenLight";
}
else
{
return "RedLight";
}
case "phone":
if (surplus != 0)
{
return "ShowFull";
}
else
{
return "BlackScreen";
}
default:
return "错误";
}
}
SQLServer
- 取出每个班级考试分数第一名和第二名的学生,不考虑补考成绩,
只提取学生姓名,分数和班级即可
Sqlserver链接 192.168.1.33 sazdl Test库StudentExam表
要求结果如下:
实现:
select * from (select top 2 [Student],[Score],[Class] from [Test].[dbo].[StudentExam]
where [Class]=1
order by [Score] desc) C1
union all
select * from (select top 2 [Student],[Score],[Class] from [Test].[dbo].[StudentExam]
where [Class]=2
order by [Score] desc) C2
union all
select * from ( select top 2 [Student],[Score],[Class] from [Test].[dbo].[StudentExam]
where [Class]=3
order by [Score] desc ) C3
- 取类型为0的每个学生最后一次考试的分数大于80分小于95分的学生,要取整条记录,其中有补考分数,如补考分数大于当前行的考试分数则提取补考分数
Sqlserver链接 192.168.1.33 sazdl Test库StudentExam表
要求结果如下:
实现:
SELECT TOP 1000 [id],
[Type],
[Student],
[Score]=
case
when [ReExam]>[Score] then [ReExam]
else [Score]
end ,
[ExamTime],
[AddUser],
[IsLock],
[Class]
FROM [Test].[dbo].[StudentExam] S
where type=0 and [Score]>80 AND [Score]<95