定义函数
方法一:
执行到return则函数结束,没有执行return,函数执行完结果为undefined。
方法二:
function(x){
........
}是匿名函数,可以把结果赋值给abs。通过abs可以调用函数
调用函数
参数问题: javascript可以传任意个参数,也可以一个也不传
参数进来有问题 解决的办法,假设不存在参数规避的办法:手动抛出异常来判断
argumens:能获取传递进来的所有参数,是一个数组
注意:包含了所有参数,有时候想使用多余的参数来进行附加操作,需要排除已有参数。
rest:获取除了已经定义之外的所有参数
rest参数只能写在最后面,必须用…标识。
变量的作用域
(1)假设在函数体内声明,在函数体外不能使用(除非用闭包)
会返回没有定义
如果两个函数用了相同的变量名,不会有冲突
内部函数可以访问外部,但外部函数不可以访问内部
规范:所有的变量定义都放在头部!!
全部变量:全局对象window
规范:
结果:
把所有代码都放到定义的唯一空间名字中,降低全局命名的冲突问题
局部作用域let
用了let局部变量后,出了作用域就不可以使用了 ,所以 外部的 i+1 没有运行。
所以使用let去定义局部作用域的变量。
常量const
改变不了常量的值
方法的定义和参数获取
方法是 把函数放在对象里面,对象只有两个东西,就是方法和属性
如果把代码分解开:
不可以单独调用 getAge()-----不可以调用上面的birth属性。this无法指向,默认指向调用它的对象
apply------ getAge.apply(ming,[ ]);-------在js中可以控制this指向。