A
函数的返回值
script type="text/javascript">
// 两个数的和
function sum(a,b){
return 1
// console.log(2)
}
// 如果函数使用 return语句,那么跟再return后面的值,就成了函数的返回值
console.log(sum(1,2))
alert(sum(2,5))
// 返回值注意
// 如果函数没有显示的使用 return语句 ,那么函数有默认的返回值:undefined
// 如果函数使用 return语句,但是return后面没有任何值,那么函数的返回值 也是:undefined
// 函数使用return语句后,这个函数会在执行完 return 语句之后停止并立即退 出,也就是说return后面的所有其他代码都不会再执行。
</script>
变量名 函数名 函数体
<script type="text/javascript">
// var a;
// console.log(a)
// a = 1;
// 就近原则 ,函数里面有这个变量 ,就不去外面找了 ,就不去外面找了
// 声明提前 。 提升变量名 , 变量的值
// var a = 1;
// function fn(){
// console.log(a);
// var a = 2;
// }
// fn()
//
// function fn(){
// var a;
// console.log(a);
// a = 2;
// }
// fn()
//
//
// JS加载的时候,只加载函数名,不加载函数体。所以如果想使用内部的成员变量,需要调用函数。
// 函数创建第一种方式
// function a(a,b) {
// return a+b
// }
// 函数创建第二种方式
// var a = function (a,b) {
// return a+b
// }
// alert(a(1,2))
console.log(fn)
// function fn(){
// return 1
// }
// var fn = function () {
// return 2
// }
// function fn(){
// return 2
// }
</script>
斐波那契数列
<script type="text/javascript">
// 斐波那契数列 1 1 2 3 5 8 13 21 34 55 89
// 1 1 2 3 5 8 13 21 34 55 89
function fbnq(a){
var num1 = 1;
var num2 = 1;
var num3 = 0;
for(var i = 0;i<a-2;i++){
// num3 = 1 + 1; 1+2 2+3 3+5 5+8 8+13
num3 = num2 + num1;
// num1 = 1; 2 3 5 8 13
num1 = num2;
// num2 = 2 3 5 8 13 21
num2 = num3;
}
return num3
}
console.log(fbnq(12))
console.log(fbnq(5))
console.log(fbnq(9))
</script>
多少天
<script type="text/javascript">
// 2、输入某年某月某日,判断这一天是这一年的第几天?(闰年)
// (四年一闰,百年不闰,四百年在闰)
/*
思路:
1,每个月的天数存到数组里
2,传哪n个月的天数就是 前n个月的天数累加 month
3,过了多少天 , 就 加上 day
*/
// isDay(2015,12,30)
console.log(isDay(2000,5,30))
console.log(isDay(2000,1,30))
// console.log(isDay(2015,3,30))
// console.log(isDay(2015,4,30))
// console.log(isDay(2016,4,30))
// console.log(isDay(2000,4,30))
function isDay(year,month,day){
var arr = [31,28,31,30,31,30,31,31,30,31,30,31]
for(var i =0;i<month-1;i++){
day+=arr[i]
}
// 如果是闰年 ,3月以后 天数都要加+
// 1月2月的天数不用
// 调用isRun 方法
if(isRun(year)&&month>2){
console.log(1)
return day+=1
}else{
return day
}
}
// 判断闰年的方法
function isRun(a){
if(a%4==0 && a%100!==0 || a%400==0){
return true
}
else{
return false
}
}
</script>
质数
<!-- 素数 质数 -->
<script type="text/javascript">
// isPrime(10)
// isPrime(1)
// isPrime(1)
// 一个数的所有因数
function isYin(a){
var arr = []
for(var i =1;i<=a;i++){
if(a % i == 0){
// arr[arr.length] = i
arr.push(i)
}
}
return arr
}
function isPrime(a){
if(isYin(a).length === 2){
return "是质数"
}else if(a<2){
return "ye是质数"
}else{
return "bu是质数"
}
console.log(isYin(100))
// function sushu(a){
// for (var i=2;i<a;i++) {
// if(a%i!==0){
// console.log(a);
// }
// }
// }
</script>
函数封装小案例
<script type="text/javascript">
// 求数组所有数和
var arr = [1,2,3,4,5,6,77,7]
var arr1 = [1,6,77,7]
/ function sum(arr){
// var sum = 0;
// for(var i =0;i<arr.length;i++){
// sum += arr[i]
// }
// console.log(sum)
// }
// 函数单独放在那 没有任何 意义的 只有 在调用的时候,才能让执行
// sum(arr);
// sum(arr1);
var arr = [1,2,2,34,4]
var arr1 = [1,2,2,34,41,2,2]
function reverse(arr){
for(var i = 0;i<parseInt(arr.length/2);i++){
var temp = arr[arr.length-1-i];
arr[arr.length-1-i] = arr[i];
arr[i] = temp
}
console.log(arr)
}
reverse(arr);
reverse(arr1);
// jc 5!
// function jc(a){
// var product = 1;
// for(var i = 1;i<=a;i++){
// product *= i
// }
// return product
// }
// jc(5)
// jc(4)
// jc(10)
//
// function sum(a){
// var sum = 0;
// for(var i =1;i<=a;i++){
// sum += jc(i);
// }
// console.log(sum)
// }
// sum(5)
// sum(3)
//
// 、求圆的周长和面积
function zc(r){
return 2*Math.PI*r
}
function s(r){
return Math.PI*Math.pow(r,2)
}
console.log(zc(5))
console.log(zc(3))
console.log(s(3))
</script>
B
C
天天for循环 。。。。
网友评论