1.用javascript实现用户登录验证的代码。
<script language=javascript>
function checkSubmit()
{
if ((document.form1.name.value)=="")
{
window.alert ("姓名不能为空");
document.form1.name.select();
document.form1.name.focus();
return false;
}
else
return true;
}
</script>
<form name=”form1″ onsubmit=”javascript:return checkSubmit()”>
<input type=”text” name=”name”>
</form>
2.请填充代码,使mySort()能使传入的参数按照从小到大的顺序显示出来。
function mySort() {
var tags = new Array();//使用数组作为参数存储容器
请补充你的代码
return tags;//返回已经排序的数组
}
var result = mySort(50,11,16,32,24,99,57,100);/传入参数个数不确定
console.info(result);//显示结果
function mySort() {
var tags = new Array();
for(var i = 0;i < arguments.length;i++) {
tags.push(arguments[i]);
}
tags.sort(function(compare1,compare2) {
return compare1- compare2;
});
return tags;
}
var result = mySort(50,11,16,32,24,99,57,100);
console.info(result);
3.请给Array本地对象增加一个原型方法,它用于删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组。
Array.prototype.distinct = function() {
var ret = [];
for (var i = 0; i < this.length; i++)
{
for (var j = i+1; j < this.length;) {
if (this[i] === this[j]) {
ret.push(this.splice(j, 1)[0]);
} else {
j++;
}
}
}
return ret;
}
4.你作为一名出道的歌手终于要出自己的第一份专辑了,你计划收录 n 首歌而且每首歌的长度都是 s 秒,每首歌必须完整地收录于一张 CD 当中。每张 CD 的容量长度都是 L 秒,而且你至少得保证同一张 CD 内相邻两首歌中间至少要隔 1 秒。为了辟邪,你决定任意一张 CD 内的歌数不能被 13 这个数字整除,那么请问你出这张专辑至少需要多少张 CD ?
function do_something(n, s, l){
var count=0;
if(n<=100&&s<=l&&l<=10000){
var max=Math.ceil(l/s);
var t=0;
for(i=max;i>=1;i--){ //每张CD最多收录的歌曲数量
t=s*i+(i-1);
if(l>=t){
break;
}
}
if(n<i)i=n; //每张CD最多收录的歌曲数量大于歌曲总数量,赋值统一操作
if (i % 13 == 0) { //歌曲总数量可被13整除
i=i-1;
}
count = Math.ceil(n / i); //计算所需 CD的数量
// 歌曲总数量除每张CD收录的歌曲数量的余数可被13整除,并且, 每张CD收录的歌曲数量减一可被13整除
if(n%i==13&&(i-1)%13==0)count=count+1;
}
console.log(count);
return count;
}
5.写一个traverse函数,输出所有页面宽度和高度大于50像素的节点。
function traverse(oNode) {
var aResult = [];
oNode = oNode || document.body;
if (oNode.style) {
var nWidth = window.parseInt(oNode.style.width, 10) || 0;
var nHeight = window.parseInt(oNode.style.height, 10) || 0;
if (nWidth > 50 && nHeight > 50) {
aResult.push(oNode);
}
}
var aChildNodes = oNode.childNodes;
if (aChildNodes.length > 0) {
for (var i = 0, l = aChildNodes.length; i < l; i++) {
var oTmp = aChildNodes[i];
aResult = aResult.concat(traverse(oTmp));
}
}
return aResult;
}
6.请实现一个fibonacci函数,要求其参数和返回值如下所示:
/**
*@desc: fibonacci
*@param: count {Number}
*@return: result {Number} 第count个fibonacci值,计数从0开始
fibonacci数列为:[1, 1, 2, 3, 5, 8, 13, 21, 34 …]
则getNthFibonacci(0)返回值为1
则getNthFibonacci(4)返回值为5
*/
function getNthFibonacci(count) {
if(count<0) return 0;
if(count<=1) return 1;
var first = 1;
var second = 1;
var third = 0;
for(var i = 2; i <= count; i++) {
third = first + second;
first = second;
second = third;
}
return third;
}