几个js函数
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>函数</title>
</head>
<body>
<script type="text/javascript">
//使用 for 循环、while 循环和递归写出 3 个函数来计算给定数列的总和。
var a1 = [1,2,3,4,5,6,2,3,4,5,6,3666666];
function sum(m){
var len = m.length;
var result = 0;
for(var i=0;i<len;i++){
result = result+m[i];
}
alert('使用 for 循环弹出的结果'+result);
}
sum(a1);
function sum1(n){
var len = n.length;
var result = 0;
var i = 0;
while(i<len){
result = result+n[i];
i++;
};
alert('使用 while弹出的结果'+result);
}
sum1(a1);
function sum2(p,n){
if(n<0){
return 0;
}else{
return p[n]+arguments.callee(p,n-1);
}
}
alert('使用递归弹出的结果'+sum2(a1,a1.length-1));
//编写一个交错合并列表元素的函数。例如:给定的两个列表为[a,B,C]和[1,2,3],函数返回[a,1,B,2,C,3]。
var a2 = ['a','c','e','g','i'];
var a3 = ['b','d','f','h','j'];
function add(m,n){
var a4 = [];
if (m.length>0&&n.length>0) {
for (var i=0; i<m.length;i++) {
a4.push(m[i]);
a4.push(n[i]);
};
return a4;
}else if(m.length=0){
return n;
}else if (n.length=0){
return m;
};
}
alert(add(a2,a3));
//编写一个计算前 100 位斐波那契数的函数。根据定义,斐波那契序列的前两位数字是 0 和1,随后的每个数字是前两个数字的和。例如,前 10 位斐波那契数为:0,1,1,2,3,5,8,13,21,34。
function fei(num){
var result = [0,1];
if(num>3){
for (var i=2;i<num;i++) {
result[i] = result[i-1]+result[i-2];
};
return result;
}else{
return result;
};
}
alert('前 100 位斐波那契数以此为:'+fei(100));
// 编写一个能将给定非负整数列表中的数字排列成最大数字的函数。例如,给定[50,2,1,9],最大数字为 95021。
var a5 = [98,89,9,8];
function list(arr){
var arr1 = [];
for(var i=0;i<arr.length;i++){
arr1.push(arr[i].toString());
}
function compare(str1, str2){
if(str1+str2 < str2+str1){
return 1;
}else if(str1+str2> str2+str1){
return -1;
}else{
return 0;
}
}
alert('所能组成的最大数字是:'+arr1.sort(compare).join(''));
}
list(a5);
// 编写一个在1,2,…,9(顺序不能变)数字之间插入+或-或什么都不插入,使得计算结果总是 100 的程序,并输出所有的可能性。例如:1 + 2 + 34 – 5 + 67 – 8 + 9 = 100。
var str = "123456789";
var ways = [];
function exec(str, pre) {
var a = str.split("");
if( str.length === 2 ){
ways.push( pre + a.join("+") );
ways.push( pre + a.join("-") );
ways.push( pre + str );
}else{
var c = str.charAt(0),
s = str.substring(1);
exec( s, pre + c + "+" );
exec( s, pre + c + "-" );
exec( s, pre + c );
}
}
exec( str, "" );
for (var i = 0; i < ways.length; i++) {
if( eval( ways[i] ) === 100 ){
alert( ways[i] + " = 100" );
}
};
</script>
</body>
</html>
几个js函数的更多相关文章
- 3.3 js函数
1.函数语法: 函数声明的方式:function 函数名(参数1,参数2-){//函数体;}函数调用:函数名(参数1,参数2-); 函数内不一定都指定返回值. 如果需要指定返回值,可用 return ...
- Js函数function基础理解
正文:我们知道,在js中,函数实际上是一个对象,每个函数都是Function类型的实例,并且都与其他引用类型一样具有属性和方法.因此,函数名实际上是指向函数对象的指针,不与某个函数绑定.在常见的两种定 ...
- js函数表达式和函数声明的区别
我们已经知道,在任意代码片段外部添加包装函数,可以将内部的变量和函数定义"隐 藏"起来,外部作用域无法访问包装函数内部的任何内容. 例如: var a = 2; function ...
- 通用js函数集锦<来源于网络> 【二】
通用js函数集锦<来源于网络> [二] 1.数组方法集2.cookie方法集3.url方法集4.正则表达式方法集5.字符串方法集6.加密方法集7.日期方法集8.浏览器检测方法集9.json ...
- 通用js函数集锦<来源于网络/自己> 【一】
通用js函数集锦<来源于网络/自己>[一] 1.返回一个全地址2.cookie3.验证用户浏览器是否是微信浏览器4.验证用户浏览器是否是微博内置浏览器5.query string6.验证用 ...
- 100多个基础常用JS函数和语法集合大全
网站特效离不开脚本,javascript是最常用的脚本语言,我们归纳一下常用的基础函数和语法: 1.输出语句:document.write(""); 2.JS中的注释为//3.传统 ...
- JS函数
1.document.write(""); 输出语句2.JS中的注释为//3.传统的HTML文档顺序是:document->html->(head,body)4.一个浏 ...
- js函数和运算符
函数是由事件驱动或者它被调用时执行可重复使用的代码块. <script> function myFunction(){ Alert(“hello World!”): } </scri ...
- JavaScript学习03 JS函数
JavaScript学习03 JS函数 函数就是包裹在花括号中的代码块,前面使用了关键词function: function functionName() { 这里是要执行的代码 } 函数参数 函数的 ...
- JSF页面中使用js函数回调后台bean方法并获取返回值的方法
由于primefaces在国内使用的并不是太多,因此,国内对jsf做系统.详细的介绍的资料很少,即使有一些资料,也仅仅是对国外资料的简单翻译或者是仅仅讲表面现象(皮毛而已),它们的语句甚至还是错误的, ...
随机推荐
- 目录的文件权限-X
所有目录务必保持具有X权限(可执行权限)!!,否则无法进入该目录及子目录,且无法读取该目录及子目录下的文件或子目录
- ANDROID开发实用小工具
分享一些 Android开发中的实用小工具,你有发现好工具吗? 来这里分享一下呗 一.find bugs 静态检查工具 http://findbugs.sourceforge.net/ FindBug ...
- Rails--抛出异常
begin ... rescue Exception => e ... end
- cocostudio做出来的界面如何进行分辨率适配,兼论cocos2dx3的多分辨率适配机制,以及retina适配机制
cocos有很多代码实际上都不再使用了,看代码时反而误导了程序员. 比如一个简单的分辨率适配,我查到了setContentSize,然后调用setContentSize,毫无用处啊!于是乎,我到处查资 ...
- docker-freebsd-20150625
http://www.docker.org.cn/book/docker/prepare-docker-1.html https://wiki.freebsd.org/Docker pkg insta ...
- Python先合并再排序
前几天遇到的美团笔试题 题目:大概要求输入两组数字,对这两组数值排序然后输出结果 思路:输入两组数,合并两组数,排序 list1 = raw_input("input some number ...
- C#常用控件介绍
目录 1.窗体(Form) 2.Label (标签)控件 3.TextBox(文本框)控件 4.RichTe ...
- iOS中的线程安全问题
为了保证线程安全,不会因为多个线程访问造成资源抢夺,出现的运行结果的偏差问题,我们需要使用到线程同步技术,最常用的就是 @synchronized互斥锁(同步锁).NSLock.dispatch_se ...
- ssl双向认证和单向认证原理
有朋友在搞一个项目,周末有聊到一些安全性的东西,很自然会想起https,但https究竟如何实施,其原理又是什么? 基于ssl,一般的应用都是单向认证,如果应用场景要求对客户来源做验证也可以实现成双向 ...
- alert样式修改
HTML: <div id="div">1223325</div> CSS: .btn_alert button{font-size: 1em;border ...