今天又迷迷糊糊的看了一章js,怎么说呢,感觉还是吃不透js,我不知道作为一个程序员是否会做笔记,或者说,是否会记载一些东西,我感觉相对于html和css,js重在理解(仅是个人的观点),但对于其一些要求和定义,用笔记记载下来,我感觉会更好的理解,和记忆,最后解读在记忆。书读百遍,其意自解。当然前边我说了,我的语言是有很多瑕疵的,所以,我还是借用网上一些专业的术语和自己的一些理解来做一下js中关于函数的笔记。等真正理解了,吃透了,在做一些面试题吧。才疏学浅,与大家分享,还请多多指点。前端路上,我们一同进步。
今天不上代码,纯文本,纯理论,解读函数。(对于一些重要的地方,我采用粗体文字)(对于一些定义,我感觉除了看文本,还得结合自己的实际操作,这样记忆会更加牢)
1.函数:把一些重复的代码进行封装,在需要的时候调用函数.
2.函数定义一次,可以调用多次
3.函数作用:代码的重用
4.函数的定义:
function 函数名(){ }
函数调用: 函数名( );
5.函数的几种形式:(为了大家能牢记,我就不写其出现的结果了,大家在浏览器自行一一试试,到底是不执行,报错,还是undefinded;)
1.无参数无返回值的函数:例子 function f1( ) { }
2.无参数有返回值的函数:例子 function f2( ){ return 100; }
3.有参数无返回值的函数:例子 function f3(x,y){ }
4.有参数有返回值的函数:例子 function f4( x,y ){ return x+y }
6.参数:
参数:函数定义的时候,函数名后面的小括号中的变量就是参数,多个参数用逗号隔开,参数前不需要加var
形参:函数定义的时候函数名后面的小括号中的参数
实参:函数调用的时候函数名后面小括号中传入的参数
7.返回值:函数中有return 就是有返回值
不明确的返回值:函数中没有return,函数中有return,但是后面没有任何内容
返回值注意 :在return 下面的代码是不执行的
8. 函数名不能重名(多对script标签的)
JS中没有块级作用域(网上抄的,必须理解其本意)
9.变量:局部变量和全局变量
局部变量;在函数中定义的变量都是局部变量
局部作用域:只能在某个代码块中使用(在函数中定义的变量就是局部变量,只能在该函数中使用)
全局作用域:在script标签中直接定义的变量就是全局变量,可以在整个页面中使用,
全局变量一般在页面关闭后才失效,或者手动设置为null
全局变量:普通的全局变量和隐式的全局变量(声明变量没有var)(下边有隐式变量)
***** 声明变量加var,声明变量加var,声明变量加var(重要的话说三遍)
变量声明的时候没有加var就是隐式全局变量,delete能直接删除
普通的全局变量式无法用delete删除
10.函数的另一种定义方式:
var ff=function (){};
命名函数:有名字的函数
匿名函数:没有名字的函数
(function( ){ })( );定义的同时直接调用,一次性的
arguments是一个假的数组,暂时当数组用,在函数中使用arguments.length可以获取用户调用函数的时候传入的参数的个数,也可以通过arguments[索引]获取用户传入的参数的
JS中没有函数的重载(函数名相同,参数个数不同)
函数可以作为函数的参数使用
函数可以作为函数的返回值使用
今天就做到吧,感谢大家的阅读,前段路上,我们一同进步。