天天看点

我的JS学习笔记-----函数

1、过滤掉空值(undefined、null、空字符串、0、NaN)

a = a || 0;//当n为真的时候返回n,当n为假的时候返回0

Array = array || 0;

2、函数的返回值(return)

function getSum(a,b){......;retutn sum;}

var sum=getSum(1,2);//返回值可以用一个变量来接收

console.log(getSum(1,2));//返回值也可以直接打印到页面上

*return之后的的代码不会执行!

3、函数的四种形式

i. 没有参数没有返回值

ii. 有参数没有返回值

iii. 没有参数有返回值

iv. 有参数有返回值

4、函数的三要素

i. 功能

ii. 参数

iii. 返回值

5、一定要习惯写函数的注释 /**+回车键

6、用户输入的内容是非常危险的,因此要不断地判断用户的输入,纠正用户的输入, 保证代码的健壮性!!!!!

7、函数跟方法是不一样的?

8、当return后没有内容的时候,返回undefined!

当函数没有写return的时候,会返回undefined!

9、函数的参数:

形参:定义函数的时候,给实参占位

实参:调用函数的时候

10、写return时,应该是在找到要返回的值之后再写。

11、关于冒泡排序:外层循环--->isSort=true;//假设已经排好序--->内层循环--->内层循环 中判断是否交换位置--->如果交换位置isSort=false;//实际上并没有排好--->再外层 循环判断isSort为真时跳出外层循环

12、写函数体的时候,可以先注释出函数体要解决的每一步,再按步骤添加代码

13、在JS中,函数的实参的个数和形参的个数可以不一致,但是在写函数的时候记得 对形参进行初始化,例如:a=a||0;

14、JS没有重载,如果相同函数名的函数有多个,最后的会把之前的全部覆盖掉。

其他类型的语言会有重载(函数名相同,函数的参数的个数或类型不同)。所以在 JS中不允许有同名的函数(这句话不是绝对的)。

15、函数定义的两种方式:

函数的声明

函数表达式

三、函数表达式

1、Var sum=function (...){...};//没有函数名,这是一条语句,所以在最后面要有分号!

2、函数声明与函数表达式的区别:

四、变量的作用域

1、全局作用域:在任何位置都可以访问

局部作用域:在函数内部声明一个变量,只能在函数内部使用。

2、当变量超出作用于之后变量会被垃圾回收机制销毁。

3、不用var声明变量是全局变量

4、JS没有块级作用域( {代码块} 在其他语言中在代码块中定义的变量在外部是访问 不到的,在JS中外部是可以访问到的)(在for、if中的代码都是代码块)

也就是说在JS中在for和if中定义的变量也都是全局变量!!!

5、变量的提升、function函数的提升!!!!!

6、自调用函数:(用于jq)

(function () {......})();

7、当进行函数调用的时候,实参会复制一份给形参,这时候形参会另外开辟一个空间。

形参的空间由垃圾回收机制回收!(当多次调用一个函数的时候,形参是每次都开 辟一个空间还是开辟一次多次更改????)每次都

继续阅读