函数的创建
1. 声明式函数
语法: function 名字() {}
function: 就是一个声明函数的关键字
名字: 就是你给这一段空间自定义的一个名字, 命名规则和命名规范同变量名
(): 存放参数的位置, 现在先不说, 一会详细讲, 必须写
{}: 就是你存放的一段代码
2. 赋值式函数
语法: var 名字 = function () {}
var: 定义变量的关键字
名字: 就是我们给这个函数起的一个自定义名称
=: 赋值
function: 表示一个函数
(): 写参数的位置, 必须写, 一会再说时干啥的
{}: 存放一段代码的
函数的调用
函数的调用
不管哪种方式定义的函数, 他们的调用方式是一样的
1. 直接调用
当你定义好一个函数以后
如果你想让这个函数内部的代码执行一下
直接写 -> 函数名()
函数名: 你要让哪一个空间里面的代码执行
(): 就是调用的意思
2. 依赖行为调用
需要给一个元素绑定一个行为
在 js 里面获取一个页面元素有一个简单的办法, 就是直接使用 id 名称
在一个页面里面, 一个元素的 id 名称可以直接被当作一个 js 的变量来使用
这个 id 名表示的就是这个元素
暂时添加一个点击行为, 就是 onclick
元素.onclick -> 表示当点击这个元素的时候
给他赋值为一个函数名称就可以了
不需要写小括号, 因为我不是让你直接执行
而是当点击的时候在执行
函数内部的一个特殊的变量, arguments
在每一个函数内部, 都有一个天生的变量
不需要我们取定义, 直接就能拿来使用
这个变量叫做 arguments
表示所有实参的集合
详解 arguments
会把所有的实参按照从左到右的顺序依次排好
给每一个实参一个编号(索引 / 下标)
这个编号(索引 / 下标) 是从 0 开始的, 依次递增
当你需要获取到这里面的某一个的时候
你只要写 arguments[编号] 就能得到某一个准确的值
arguments 还有一个属性叫做 length
表示 arguments 这个集合的长度, 也就是里面有多少个数据
值是一个 number 数据类型的数字
如果你想得到这个属性就写 arguments.length
使用循环遍历整个 arguments 获取到每一个数据
因为 arguments 的索引(下标) 是按照从 0 开始依次叠加的顺序
我们的循环刚好也可以给我提供一组有规律的数字
所以我们可以使用循环的方式来遍历 arguments
函数的返回值
什么是返回值: 也就是一个函数的结果
例子: 冰箱
函数: 就是封装一个功能, 冰箱就是封装了一个制冷的功能
参数: 就是在调用的时候传递, 你向冰箱里面放了什么东西
返回值: 就是调用完函数得到的结果, 冰箱能给你的一个什么
例子: parseInt()
parseInt 是一个 js 内置(自带) 的一个函数
parseInt() 就是在调用这个函数
parseInt(10.234) 就是传递的一个参数
var result = parseInt(10.234)
result 接收的就是 parseInt 这个函数的返回值
这个函数里面做的是 把你传递进来的数据转换成数值类型
然后再返回给你
再函数里面添加返回值使用 return 关键字
return 就是再函数里面使用的
你想让这个函数返回什么, 就写 return 你要返回的数据
对象
什么是对象 ?
是一个复杂数据类型, 专门用来存储数据的
会给每一个存储的数据起一个名字
创建对象的方式
字面量创建
var obj = {}
内置构造函数创建
var obj = new Object()
操作对象的语法(点语法)
增: 对象名.你要增加的名字 = 你要增加的值
删: delete 对象.你要删除的名字
改: 对象名.你要修改的名字 = 你要修改的值(原先有就是修改, 原先没有就是增加)
查: 对象名.你要查询的名字
操作对象的语法(数组关联语法)
增: 对象名['你要添加的名字'] = 你要添加的值
删: delete 对象名['你要删除的名字']
改: 对象名['你要修改的名字'] = 你要修改的值
查: 对象名['你要查询的名字']
两种操作语法
使用的结果没有区别, 互相可以混合着使用
只是为了实现一个需求的两种语法