标签:
变量提升:
var num = 10;
fun();
function fun(){
console.log(num);
var num = 20;
}
解读:
当浏览器读到方法fun的时候会执行fun方法,语句中打印输出num的值,
在局部变量中已经定义num, 那么js会自动把num声明到函数的第一行语句但不赋值,所以这个时候只是提升了变量位置,但不会把值带一起上去.所以最后输出的结果为undefined(未定义)
函数传参:
<script>
window.onload = function(){}
//功能相同的 都是显示某个盒子
function fn(obj){ //形参 目的 是为了 接受 实参 有接就有送
var target = document.getElementById(obj);
target.style.display = ‘block‘;
}
</script>
值得一说:
当遇到类似这种需要传参的函数时,需注意是否需要等待页面全部加载完毕以后再才能执行的条件还是不用等待页面加载完毕直接写在入口函数以外就可以.
一般情况下需要确定是否需要放在入口函数里的情况是声明获取的对象变量,如果有就需要放在入口函数内
注意:
arguments 为实参 也就是原本的数值
与形参做判断可得出实形参是否匹配
fn(a,b){ ... }
if(arguments.length == fn.length) { ... }
return :
作为返回一个id 对象的作用
function $(id){ return document.getElementById(id);}
可避免重复使用 var obj = document.getElementById(“id”);
使用:
$(“boj”).style.display = “block”;
...
获得焦点 失去焦点 事件:
onfocus = 获得焦点
onblur = 失去焦点
2个小小的用户体验:
1 载入网页焦点自动定位方便直接进行输入
2 鼠标经过已输入框自动全选其所有已输入内容方便迅速删除
1 focus( ) 方法:
在input 对象中 调用 该方法即可.
obj.focus( ) ;
2 select( ) 方法:
在onmouseover的事件下进行调用该方法.
obj.onmouseover = function (){ this.select( ); }
ps: this关键字,谁执行该方法谁就代表this.
getElementsBytTagName(“tagname”) :
获取某一类的所有标签,通常使用遍历的方式来获取所有标签进行操作需求.
它类似于数组但不是数组, 具有数组的特点.
标签:
原文地址:http://www.cnblogs.com/Rimashuai/p/5701495.html