JavaScript基础知识----六道有趣的Js基础题以及解答
2024-08-29 22:04:02
题目:
1.找出数字数组中最大的元素(使用Math.max函数)
2.转化一个数字数组为function数组(每个function都弹出相应的数字)
3.给object数组进行排序(排序条件是每个元素对象的属性个数)
4.利用JavaScript打印出Fibonacci数(不使用全局变量)
5.实现如下语法的功能:var a = (5).plus(3).minus(6); //2
6.实现如下语法的功能:var a = add(2)(3)(4); //9
解答:
1.
var a = [10,1,2,3,4,8,9];
function max(a){
var len = a.length-1;
var maxnum=a[len];
while (len--) {
maxnum=Math.max(maxnum,a[len])
}
return maxnum;
}
alert(max(a));
另解:
function getArrMax(){
return Math.max.apply(null,a);
}
2.
var getNumFun = [];
function toFun(a){
var len = a.length;
while (len--) {
(function(i){
getNumFun[i] = function(){
alert(a[i]);
}
}
)(len); }
}
/* toFun(a);
getNumFun[5](); */
3.
var objarr = [
{a:2,b:1},
{d:5},
{a:1,b:2,c:3} ];
function rule(o1,o2){
var sizeObj = function(obj){
var size=0;
for(var i in obj) size++;
return size;
}
return sizeObj(o1) - sizeObj(o2);
}
/* objarr.sort(rule);
console.log(objarr[0]); */
4.
function Fib(n){
if(n===1||n===2){return 1;}
else return Fib(n-1)+Fib(n-2);
}
/* console.log(Fib(10)); */
5.
Number.prototype.plus = function(x){
return this+x;
}
Number.prototype.minus = function(x){
return this-x;
}
/* console.log((5).plus(3).minus(6)); */
6.
function add(num){
var self = arguments.callee;
/* alert(self);//undefined,5,13 ~~的作用*/
num += ~~self;
self.num = num;
return self;
}
//valueOf是给运行和控制台用,toString是给alert用
add.valueOf = add.toString = function(){return add.num};
alert(add(5)(8)(6)); //
最新文章
- Logical read, Physical read (SET STATISTICS IO)
- file:///Users/xmg/Desktop/xiangmu~Bsbdejie/BaisibudejieTheSecondtime/BaisibudejieTheSecond/BaisibudejieTheSecond/AppDelegate.m: warning: Missing file: /Users/xmg/Desktop/xiangmu~Bsbdejie/BaisibudejieT
- c中的基本运算
- JBPM表达业务流程(流程定义语言)
- Windows NT访问权限
- Ionic基础——侧边栏ion-side-menus 以及ion-tap结合侧边栏详解
- NPOI导出Excel文件,对单元格的一些设置
- 大数据时代的技术hive:hive的数据类型和数据模型
- iOS 开发http post 文件的上传
- Sqoop将mysql数据导入hbase的血与泪
- Google Bigtable (中文版)
- [物理学与PDEs]第1章第9节 Darwin 模型 9.3 Darwin 模型
- (二)文档请求不同源之window.postMessage跨域
- setsockopt设置socket状态
- VMWare 安装 Linux
- 【Android】Android开源项目精选(一)
- python 日期操作【转】
- Silverlight4.0正式版(Silverlight4_Tools)离线安装
- javaweb笔记五
- go语言之进阶篇 channel介绍