javascript第四天
This和函数
- This
(1) 当for循环中 嵌套 添加事件的代码时 事件中访问循环变量 将会得到自加到最大的值(循环变量不可用)
(2) 这个问题 this可以解决
(3) This在js中是一个关键字 用来指代一些概念, this在不同的位置 具备不同的值
(4) 定义:This的值 就是 当函数被作为对象的方法调用的时候 函数所属的对象
① Window是一个对象 他是js中所有对象的祖宗(顶级对象)
1) 我们在script标签内部声明的所有 变量 和 函数 都是window对象的属性 和 方法
2) 在实际开发中 window对象可以省略 obj window.obj
② 特定函数的this值
1) 对象的方法函数this---->调用方法的对象
2) 事件处理函数this---->添加事件的标签
3) 普通函数this---->window
- Js元素的自定义属性(自定义索引)
(1) <div abc=”abc”></div> 标签的自定义属性
(2) 从多个展开收起的效果中 我们发现问题 一个状态变量 记录不了多个元素的展开收起状态
① 这个问题可以使用自定义属性解决
(3) Js元素的自定义属性
① 由于js中获取的标签元素 都是 对象 因此我们可以在标签对象上 添加新的属性, 而我们添加的属性就是 自定义属性
② 添加属性的方式: 标签对象 . 自定义属性名 = 属性值
③ 获取自定义属性值: 标签对象 . 自定义属性名
④ 注意:自定义属性命名必须符合变量命名规则
⑤ 自定义属性的值可以是任意类型的数据。
(4) 自定义索引
① 用来记录每一个元素下标的自定义属性
(5) 排他思想
① 干掉所有人
② 复活我自己
- 函数
(1) 函数的声明和作用
① Function 函数名(){ 函数内部的代码 } 字面量创建
1) 函数名()
② Var 变量名 = function(){} (匿名函数) 表达式创建
1) 变量名()
(2) 函数的作用
① 封装:将实现某一功能的代码写入一个函数中 如果需要实现这个功能直接调用函数即可实现
② 事件处理函数:函数可以处理事件;
③ 对象的方法函数:方法函数的作用 是用来描述对象的动态行为的,对象的普通属性则是用来描述对象的静态特征的
(3) 函数的参数
① 参数 就是 函数所需的原材料
1) 参数的写法
- 形式参数(形参)
a) 写法:function 函数名(形参1,形参2,...){}
b) 在函数中写入形参 相当于 在函数体内部声明了变量
- 实际参数(实参)
a) 写法:函数名(实参1,实参2,实参3.....)
b) 理论上 有几个形参 就写几个实参
c) 在函数调用时写入实参 就相当于 给形参声明的变量赋值
2) 注意点
- 如果形参个数多与实参 , 实参按照顺序赋值 后续多出来的形参没有值
- 如果形参个数少于实参 , 多余的实参直接舍弃
3) Arguments 实参列表
- 作用:可以获取到函数调用时传入的所有实参
- Arguments是一个伪数组 其中的数组项 就是我们传入函数的实参
4) Arguments和形参的关系
- 如果 手动改变arguments的数组项的值 对应的形参 值也会相应改变
- 手动改变形参,对应arguments数组项的值也会发生改变
5) 函数的实参 可以是 任意js类型的数据。
浙公网安备 33010602011771号