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、当进行函数调用的时候,实参会复制一份给形参,这时候形参会另外开辟一个空间。
形参的空间由垃圾回收机制回收!(当多次调用一个函数的时候,形参是每次都开 辟一个空间还是开辟一次多次更改????)每次都