今天是2018.9.14星期五,下午16:00整,今天是我们公司是双休的,也就是说周末放假两天!今天下午我的内心的是很浮躁的,看着屏幕里面的代码,心却早已飞向远方。我知道这样很不好,但是就是有那么一段时间很烦躁的。真的希望我能改掉这个坏毛病。时间过得真快,转眼间来到公司当实习生已经半个月了,要说半个月在公司学到了什么,我好想说不出来,只知道公司是专门做琴房管理系统的,就是软硬件结合的公司。这半个月都是自己在跟着视频进行学习,上面也没有给我布置任务,我就自己一个人默默地跟着视频学习。管他呢,到时候老板肯定也会布置任务的。先好好的学习吧,只有自己有技术才是王道,慢慢来慢慢来,不着急不着急。既然很烦躁的话,那就总结一下,今天所学到的js把!
-----------------------分割线-------------------------
首先在使用函数的时候要了解函数的三要素:
1.首先先用注释说明函数的需求
2.然后在函数中写明要传的参数
3.最后写清楚返回值
js函数可分为:
//无参数无返回值
//有参数有返回值
//有参数无返回值、
//无参数有返回值
关于返回值问题:
//如果return 后面跟内容了,就返回return后面的内容
//如果return后面没有跟内容就返回undefined
//如果函数后面没有写return就返回undefined
关于参数问题
//函数在进行调用的时候,会把实参的数 复制一份传递给getSum函数
//在js函数里面是可以形参和实参个数不一样的。
在其他语言中有重载的概念但是在js里面是没有重载的概念的:
//重载:函数名字相同,但是参数个数相同
//在js中没有重载的概念。
//相同名称的函数会把上面你的函数进行覆盖,所以在js中不能出现同名的函数。
函数定义的两种形式:
1.函数的声明:function fun(){};
2.函数的表达式:var myfun=function(){};
上面两种方式的区别
函数声明:整个函数的提升
函数表达式:只是变量在提升
过程是这样子的:
解析器:
//全局作用域
//预解析------>找到了 var a; function f1(){};
//然后再进行一行一行的执行代码
//a = 18;
//f1();
---f1的局部作用域
---预解析--->var b; var a;
----然后在从上到下一行一行的执行代码
解析过后最终的代码变成了这样:
最后输出为:is not defined 还有 9
这里要注意的是:在函数内部进行获取变量的时候,会先在当前的作用域上进行寻找,有没有变量声明,如果有就返回当前变量声明,如果没有的话就上一级进行寻找变量的值
作用域问题:
//全局作用域:
//1.在<script>标签中定义的变量---全局变量
//2.不使用var声明的变量也是----全局变量。
//3.当关闭网页或者浏览器时网页才会进行释放
局部作用域
//1.只有在函数中内部使用var定义的变量才是局部变量
//2.超出函数的使用范围后,局部变量会被销毁
js中没有块级作用域
//if或者var定义的变量全部是全局变量