一、this关键字
this是JavaScript中一个关键字
this无处不在,在任何地方都可以访问this
this在不同的地方,值是不一样
window是一个顶级对象,顶级对象可以省略
页面中的内容都属于窗口(window)
this在函数外,指向window对象
在事件函数中,this指向事件的触发者
总结:this指向调用者(谁调我,this就指向谁)
var lis=document.getElementsByClassName(‘item’);
//遍历
for(var i=0;i<lis.length;i++){
lis[i].οnmοuseοver=function(){
// console.log(‘enter’);
//找this内部的ul
this.getElementsByTagName(‘ul’)[0].style.display=‘block’;
};
lis[i].οnmοuseοut=function(){
this.getElementsByTagName(‘ul’)[0].style.display=‘none’;
};
}
二、自定义属性
自定义属性:为标签添加已有属性之外的属性(新增属性)
var lis = document.getElementsByTagName(‘li’);
for (var i = 0; i < lis.length; i++) {
lis[i].index=i;//为每一个li新增一个自定义属性index,将自身的位置赋值给这个新属性
lis[i].onclick = function () {
// alert(i);//4
// console.log(this);
// console.log(this.getAttribute(‘index’));
console.log(this.index);
};
}
三、函数
函数是由事件驱动的或者当被调用时可以重复使用的代码块。函数的使用分为两步:声明函数,调用函数。
函数就是一种封装。
一次封装,终身使用。
1.声明函数
function 函数名(){
函数体;
}
函数名的命名规则,和变量名一样
变量名 名词 name,age,addree,score…
函数名 动词 getElementById walk run say
//方法二:给变量赋值 定义一个函数
var fn=function(){
console.log(‘111’);
};
2.函数需要调用才能执行
函数名();
注意:函数的定义顺序与调用顺序无关
3.函数的参数
当函数内部有不确定值的变量时,应使用参数来代替
函数()内部的变量称为参数
形参:函数定义时的参数
实参:函数调用时的参数
多个参数之间通过逗号隔开
理论山函数可以有无限多个参数,参数使用逗号隔开
理论上函数的参数是不限制数据类型的
函数参数是按照顺序传递的,不能隔过任何一个
函数若重名,会覆盖
4.auguments
是函数对象的一个属性,保存了接收到的实参个数
arguments是一个集合 length ,索引