JavaScript 编程题
下面两个函数的返回值是一样的吗?为什么?
function foo1()
{
return {
bar: "hello"
};
}
function foo2()
{
return
{
bar: "hello"
};
}
这两个函数的返回值不一样,他们的返回值分别是:
function foo1()
{
return {
bar: "hello"
};
}
返回
Object {bar: "hello"}
function foo2()
{
return
{
bar: "hello"
};
}
返回
undefined
产生这个结果的原因是分号在JavaScript中的用法(省略分号不是好的做法)。当foo2()的一行语句中只包含return时,会在return语句后面自动的加上一个分号。后面的语句也是合法的,不会抛出error,尽管它不会调用,也不做任何事(仅仅只是一个没有用到的语句块)。
这说明了在Javascript中大括号的位置应该放在语句后面的编程风格更符合Javascript的语法要求(有些语言推荐放在新一行的开头)。
MySQL 编程题
用一条 SQL 语句,查询出每门课都大于 80 分的学生姓名。
表名 student_score
name | course | score |
---|---|---|
张三 | 语文 | 81 |
张三 | 数学 | 75 |
李四 | 语文 | 76 |
李四 | 数学 | 90 |
王五 | 语文 | 81 |
王五 | 数学 | 100 |
王五 | 英语 | 90 |
SELECT DISTINCT name
FROM student_score
WHERE name NOT IN
(SELECT DISTINCT name
FROM student_score
WHERE score < 80);
Java 编程题
一球从 100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第 10 次落地时,共经过多少米?第 10 次反弹多高?
package ketangzuoye;
public static void main(String[] args) {
double height = 100.0;
double sum = 0.0;
for (int i = 1; i <= 10; i++) {
sum = sum + height;
height = height/2;
sum = sum + height;
}
sum = sum - height;
System.out.println("第10次落地时共经过" + sum +"米。");
System.out.println("第10次落地时反弹" + height +"米。");
}
}