js基础之二:函数定义调用,操作属性,循环
函数只定义不调用不会执行, js里函数名只要加了括号,马上就会执行。
function show(可以定义参数){ //定义参数
alert(一个参数); //接收参数
}
show(1,2,3); //传递参数
传参function show(a,c,b){ //形参 show(12,5); //实参
alert(ac);
}
function show(){
}
show()//有名字的函数
匿名函数(事件函数)
oBtn.onclick=function(){
show();
}
定义函数写参数只是为了占位
参数是根据需求来定
什么时候用这个参数?函数里面有可变的值
参数是一一对应的;参数就相当于是一个变量;多个参数之间用逗号隔开;
操作属性的两种方法: .点 和 []方括号
. 不能操作变量,操作系统原有的属性;
操作变量使用[];
.点能做的事情,方括号也可以做;[]能做的,.不一定能做。
方括号里的变量不加引号; eg:this.style[attr]
关于复合样式:第二个单词的首字母大写,js里是驼峰的;
eg:marginLeft backgroundColor marginRight
事件调用函数,函数名不加括号;oBtn.onclick = show;
什么时候使用参数:当不确定的时候才使用参数;
变量和字符串
var a = 12;alert(a); var a = '12';alert(a);
区别:变量没有单引号 字符串有单引号
注释
单行注释 :// ctrl+/; 多行注释 :ctrl+shift+/
/
//code;
*/
行为js 结构html 表现 css 三者分离
window.onload:页面加载完成后在执行;
关于a: <a href="javascript:;"></a>
锚点: <a href="#4F">去4楼</a>
<p id="4F"></p>
length: 长度,个数; JS计数从0开始;
aDiv[number]:下标的意思;代表具体第几个;
通过tagname获取一组元素:document.getElementsByTagName(tagname):动态方法
不论实际是几个元素,返回的是一组[多个];即数组
通过tagname获取的元素要配合下标使用;
什么是下标:[],一组里面的某一个;
this:当前发生事件的元素;
innerHTML:元素的内容,不但可以获取,也可以赋值;
获取:alert(this.innerHTML);
赋值:aDiv[0].innerHTML='<em>123456789</em>';
for(1var i = 0; 2i < 6;4 i++){//1:初始条件;2:判断条件;3:语句; 4:自增
3 alert(i);}
i++;即i = i + 1;
i值的问题: 循环里面加事件,事件里面取不到i的值;循环比事件快;
也就是说,循环完了才发生事件
for(var i = 0; i < aDiv.length; i++){
aDiv[i].onclick = function(){ //循环里用aDiv[i],有数组就有下标
this.style.background = ‘red’; //不能写成aDiv[i].style.background = ‘red’;
} //假如aDiv里面4个元素,aDiv[i]变成了aDiv[5]
} 即循环结构完成后才进入事件
var i = 0; //初始条件;
while(条件){
语句;
i++;
}
var i = 0;
while(i < aDiv.length){
aDiv[i].onclick = function(){
this.style.background = 'green';
};
i++;
}
***先初始化;有数组就有下标;循环里面有事件那么元素用this;i ++一定是放while循环里面
什么时候用循环:操作多个的时候,只要操作一组元素就要用循环
选项卡核心:清空所有,添加当前
自定义属性:低版本浏览器可以取到值,高版本的undefined;
高版本浏览器加载的过程:
1.加载html属性,标签;
2.过滤自定义的属性和标签;
3.加载JS;(在js里定义属性是可以的)