学习记录(四)
函数
(一)定义函数的两种方法
- function x( a,b)
{
(函数内容)
} - var x = function (a,b)
{
(函数内容)
} - 通过定义的x来调用函数
(二)参数
arguments
- 类似于数组,可以通过像数组一样的访问方式访问对应的内容获取参数
注:arguments本身不是数组只是一个"类数组"
rest - 获取已定义参数以外的其他参数
注:rest本身就是数组
(三)变量注意事项(貌似大部分可以类比c语言的规则)
- 某个函数的内部声明不能在这个函数的外部使用
- 不同函数中的内部变量名可以相同
- 外层函数不能访问内层函数,但内层函数可以访问外层函数
- 内层函数和外层函数的变量名可以相同(因为JS中引用变量时优先从所在函数内部寻找,然后再在其外部寻找)
- JS中定义变量尽量放在函数最上方(放在后面也可以识别,JS在读取代码时会自动将变量的定义移动到函数最上方,但函数的赋值无法实现)
(四)全局变量
- 默认的全局变量对象为window
- alert(内容)
弹窗,对象为window - 注意全局变量的唯一性问题
(五)局部变量
- 用let定义局部变量
注:let和var的区别
1、var声明可以多次重复声明同一个变量,但let不行
2、let变量只在块级作用域里面有效果,var 变量不存在作用域
3、let变量不会将函数声明提前,而var变量会
(六)常量
- 全部用大写字母定义
- const函数表示常量,不能被修改
(七)this关键字
- 默认指向调用它的对象
- 作用:
1、可以用来辅助区分重名的内层变量和外层变量
2、可以用来在构造函数时调用其他函数(必须写在第一行)