js常见的问题

js常见的问题
》区分大小写
》单引号,双引号
-js中习惯是用单引号。
-html的属性值规定用双引号。
-单引号中可以包含双引号,说引号里面也可以包含单引号。
》括号
-可以是分隔符,也可以是个表达式。如下:
-(function(){})()
-onload函数是在整个页面加载完的时候加载。(有很多图片的话,会很慢,可以改写window.onload函数,加载完文字的时候开始同时执行函数)
》函数调用和引用
var foo=functionName();
var foo1=functionName;
前者表示函数的返回值,后者表示对函数的一个引用。如:window.οnlοad=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.οnclick=function(){
//alert("id"+i);
//}
}
}

//)();

function registerListener(hid,i){
//此时的i可以找到在内部作用域中找到
hid.οnclick=function(){
alert("id"+i);
}
}
window.οnlοad=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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值