关闭

js常见的问题

标签: functiongeneratorjavascripthtmlnull
338人阅读 评论(0) 收藏 举报
分类:
js常见的问题
》区分大小写
》单引号,双引号
-js中习惯是用单引号。
-html的属性值规定用双引号。
-单引号中可以包含双引号,说引号里面也可以包含单引号。
》括号
-可以是分隔符,也可以是个表达式。如下:
-(function(){})()
-onload函数是在整个页面加载完的时候加载。(有很多图片的话,会很慢,可以改写window.onload函数,加载完文字的时候开始同时执行函数)
》函数调用和引用
var foo=functionName();
var foo1=functionName;
前者表示函数的返回值,后者表示对函数的一个引用。如:window.onload=functionName;
》换行
js中一行就是默认一个语句,不能包含强制换行符,如果要换行的话,可以在行的结尾加个反斜杠,或者使用字符串连接符+;建议使用后者。
》分号、大括号可选
分号可以不加,但是为了代码的可读性,建议加上。
》重载
js中不支持重载,两个函数同名的情况下(和参数无关),下面的函数会覆盖掉上面的函数。
如果代码中出现:function alert(){};则会把核心函数alert覆盖掉。
所以在给函数命名的时候,不要使用核心函数的名称。
》作用域、闭包
作用域——对某一个属性或者方法具有访问权限的代码空间。
闭包——内部函数即使在外部函数执行完成并终止后,仍然可以访问外部函数的属性。
相关代码如下:



===============================

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<SCRIPT LANGUAGE="JavaScript">
<!--
//(function() ---这样的话 hid就会报null或者不是对象、找不到。
function hinit()
{
for(var i=1;i<=3;i++){
var hid=document.getElementById("id"+i);
//调用外部实例,闭包,2者的区别:
//为他的实例保存了唯一的对象。
registerListener(hid,i);
//错误代码--弹出的都是id4.原因:在监听onclick事件的时候,在内部没有找到i,所以只能到外部作用域去找i,这时的i=4;

//hid.onclick=function(){
//alert("id"+i);
//}
}
}

//)();

function registerListener(hid,i){
//此时的i可以找到在内部作用域中找到
hid.onclick=function(){
alert("id"+i);
}
}
window.onload=hinit;
//-->
</SCRIPT>
</HEAD>


<BODY>
<a id="id1" href="#">id1</a></br>
<a id="id2" href="#">id2</a></br>
<a id="id3" href="#">id3</a></br>
</BODY>
</HTML>


1
1

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:125435次
    • 积分:2534
    • 等级:
    • 排名:第14516名
    • 原创:136篇
    • 转载:19篇
    • 译文:0篇
    • 评论:12条
    文章分类
    最新评论