专业长春网站建设工作室免费刷seo

一 、函数
1.1定义
封装了一段可被重复执行并调用的代码。
1.2 使用函数的步骤
1.定义函数 。 把代码放到盒子里。(封装函数)2.调用函数。
1.3 函数的分类
**系统内置函数**alert();document.write();console.log();Number();parseInt();**自定义函数**
1.4定义函数的两种方式
1.4.1 声明式(利用函数关键字自定义函数 又称 ‘命名函数’ )
语法格式:function 函数名( ){代码块。return 返回值。【可选】}1、 function 声明函数的关键字2、 函数名:与变量名的概念一样,命名规则也一样。
1.4.2 赋值式
var 变量名 = function( ){ 这里的函数名是变量 ,只不过变量里面存的是值,而函数表达式里面,存的是函数代码块。return 返回值。【可选】}**区别:**声明式函数可以在任意位置调用。但是赋值式函数只能在定义函数之后调用。
赋值式执行的顺序:
(1)先定义了这个函数。
(2)将这个函数的地址赋值给前面这个变量。
**函数的优点:**简化代码,提高开发效率。有利于维护。
函数的参数:实参和形参。
实参:函数调用时传递的参数。
形参:函数定义时,括号里的就是形参。
只有形参,不传实参,形参就是undifined。
1.4.3 如何调用函数?
函数名();根据参数与返回值的不同,可将函数分为4种:1.无参数无返回值。2.有参数无返回值。3.无参数有返回值4.有参数有返回值。
【注意】函数名 和 函数名()是不一样的。函数名是一个变量,表示这个函数。
没有函数名的函数我们叫做匿名函数。
函数名( ) ; 是指执行这个函数体内的代码。
1.5 封装函数的步骤(重要)
封装函数的步骤:
1.将同属于一个功能的代码抽离出来,作为函数的执行语句,放在函数体{ }中。
2.分析有没有不确定的值。将不确定的值作为形参。
3.如果需要对执行的结果进行不同的操作处理,则定义返回值。否则,可以不需要。
eg:function getSum(n){var sum = 0;for(var i = 1;i<=n;i++){sum+=i;}return sum;}var sum = getSum(200);document.write(sum);console.log(sum);
**加密规则:**每位数+5,除以10得到余数,代替当前的数,将第一位和第四位交换,第二位和第三位交换。得到的数就是加密的数。返回该加密后的数字。function encrypt(){var num = Number(prompt("请输入一个四位数"));if(num>=1000&&num<=9999){//千位var q = parseInt(num/1000);//百位var b = parseInt(num/100)%10;//十位var s = parseInt(num/10)%10;//个位var g = num%10;q+=5;b+=5;s+=5;g+=5;q= q % 10;b = b % 10;s = s % 10;g = g % 10;num = ""+g+s+b+q;return num;}else{alert("瞎吗?四位数!!")}}alert(encrypt());
二、arguments
2.1 用途
当我们不确定有多少个参数传递时,可以用arguments来获取,在js中,argument实际上是当前函数的一个内置对象。所有函数都内置了一个arguments对象,arguments对象中存储了传递的所有实参。
2.2 arguments:
每个函数都有一个arguments。使用存储传入的参数。
arguments的结构类似于数组。(伪数组:不能使用数组的一些方法。但是用法与数组类似。)
2.3 伪数组(并非真正意义上的数组)
1、具有数组的length属性。
2、按照索引的方式存储的。
3、它没有真正数组的方法。
4、可以按照数组的方式遍历arguments。
使用方法:访问第n个参数: arguments[n]获取最后一个参数: arguments[arguments.length-1]获取参数的个数: arguments.length
2.4 优点
使用形参:让代码更容易阅读和理解。
eg:
1、 对传入的不定数据的数值进行求和function add(){// console.log(arguments.length);// console.log(arguments[1]);// return arguments[0]+arguments[1];var sum = 0;for(var i = 0;i<arguments.length;i++){sum = sum + arguments[i];}return sum;
}
// var n = add(4,5,6,8)
document.write(add(4,7,6,2,10,24,64));
三、作用域:
变量存在的范围。
1、任何程序执行都需要占用内存。函数调用时也需要占用内存空间。
2、垃圾回收机制
当内存空间没有任何变量指向时,或者函数执行完毕后,它们占用的内存空间就会被释放,返还给系统。
全局变量:
(1)直接写在script标签中的变量,在页面的任意位置使用。在函数内可以使用全局变量。
(2)全局变量的内存空间,页面打开时创建,页面关闭时销毁。
局部变量:
(1)定义在函数内部的变量。这个变量只能在函数内部使用。形参也是局部边量。
(2)局部变量的内存空间,在函数调用的时候创建,函数执行完毕后销毁。
总结:
(1)全局变量可以在任意的函数内部使用。
(2)局部变量只能在当前的函数内部使用。
(3)当函数内使用一个变量时,它会现在自身的作用域(函数内部)寻找该变量,如果找到直接使用,如果没有找到则向上一级寻找,直到全局作用域。
(4)如果全局作用域也没找到,则报错。
