无为清净楼资源网 Design By www.qnjia.com
1、JS中方法和变量都是区分大小写的
2、单引号、双引号在JS中没有特殊的区别,都可以用来创建字符串。但作为一般性规则,大多数开发人员喜欢用单引号而不是双引号,但是XHTML规范要求所有属性值都必须使用双引号括起来。这样在JS中使用单引号,而对XHTML使用双引号会使混合两者代码更方便也更清晰。
单引号可以包含双引号,同理,双引号也可以包含单引号。
3、括号
首先需要说明的是:JS中括号包含两种语义,可以是分隔符也可以是表达式。
a、分隔符大家非常熟悉(1+3)*3等于12
b、(function(){})();function之前的一对括号作为分隔符,后面的括号表示立即执行这个方法。
4、函数调用和引用
因为括号代表执行,所以:
var foo=example(); foo表示函数的返回值
var foo1=example; 将函数引用赋给一个值foo1
5、重载
JS不支持重载,因此这里所说有重载其实更类似于替换
JS不区别参数个数
6、作用域、闭包
作用域指对某一属性或方法具有访问权限的代码空间。如:
复制代码 代码如下:
function myFunction(){
var temp="abc";
}
上面的temp在函数外面无法访问。
闭包是与作用域相关的一个概念,它指的是内部函数即便在外部函数执行完成并终止后仍然可以其外部函数的属性。
下面我们就作用域和闭包来举个例子:
我们建立如下html页面:
复制代码 代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script language="javascript" type="text/javascript">
function init(){
for(var i=1;i<=3;i++){
author=document.getElementById("author"+i);
author.onclick=function(){
alert("author"+i);
}
}
}
window.onload=init;
</script>
</head>
<body>
<a id="author1" href="#">abc</a><br />
<a id="author2" href="#">abc</a><br />
<a id="author3" href="#">abc</a><br />
</body>
</html>
运行结果:
pic
可以看到,这并不是我们想要的。
进行修改后,关键代码如下:
复制代码 代码如下:
<script language="javascript" type="text/javascript">
function init(){
for(var i=1;i<=3;i++){
author=document.getElementById("author"+i);
registerListener(author,i);
}
}
function registerListener(author,i){
author.onclick=function(){
alert("author"+i);
}
}
window.onload=init;
</script>
这样,我们就得到了我们想要的结果。
这是因为init每次调用都产生function的一个实例,每个实例里都维护了一个新的i
而对于匿名函数的上一级已经有这个i,而且已经和init里的i不一样了。
2、单引号、双引号在JS中没有特殊的区别,都可以用来创建字符串。但作为一般性规则,大多数开发人员喜欢用单引号而不是双引号,但是XHTML规范要求所有属性值都必须使用双引号括起来。这样在JS中使用单引号,而对XHTML使用双引号会使混合两者代码更方便也更清晰。
单引号可以包含双引号,同理,双引号也可以包含单引号。
3、括号
首先需要说明的是:JS中括号包含两种语义,可以是分隔符也可以是表达式。
a、分隔符大家非常熟悉(1+3)*3等于12
b、(function(){})();function之前的一对括号作为分隔符,后面的括号表示立即执行这个方法。
4、函数调用和引用
因为括号代表执行,所以:
var foo=example(); foo表示函数的返回值
var foo1=example; 将函数引用赋给一个值foo1
5、重载
JS不支持重载,因此这里所说有重载其实更类似于替换
JS不区别参数个数
6、作用域、闭包
作用域指对某一属性或方法具有访问权限的代码空间。如:
复制代码 代码如下:
function myFunction(){
var temp="abc";
}
上面的temp在函数外面无法访问。
闭包是与作用域相关的一个概念,它指的是内部函数即便在外部函数执行完成并终止后仍然可以其外部函数的属性。
下面我们就作用域和闭包来举个例子:
我们建立如下html页面:
复制代码 代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script language="javascript" type="text/javascript">
function init(){
for(var i=1;i<=3;i++){
author=document.getElementById("author"+i);
author.onclick=function(){
alert("author"+i);
}
}
}
window.onload=init;
</script>
</head>
<body>
<a id="author1" href="#">abc</a><br />
<a id="author2" href="#">abc</a><br />
<a id="author3" href="#">abc</a><br />
</body>
</html>
运行结果:
pic
可以看到,这并不是我们想要的。
进行修改后,关键代码如下:
复制代码 代码如下:
<script language="javascript" type="text/javascript">
function init(){
for(var i=1;i<=3;i++){
author=document.getElementById("author"+i);
registerListener(author,i);
}
}
function registerListener(author,i){
author.onclick=function(){
alert("author"+i);
}
}
window.onload=init;
</script>
这样,我们就得到了我们想要的结果。
这是因为init每次调用都产生function的一个实例,每个实例里都维护了一个新的i
而对于匿名函数的上一级已经有这个i,而且已经和init里的i不一样了。
标签:
js问题,js总结
无为清净楼资源网 Design By www.qnjia.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
无为清净楼资源网 Design By www.qnjia.com
暂无评论...
更新日志
2024年09月30日
2024年09月30日
- 纪钧瀚《钢琴阅读时光 雨中书店聆听轻音乐》[FLAC/分轨][399.62MB]
- 证声音乐图书馆《走向自然 疗心爵士乐》[320K/MP3][87.4MB]
- 证声音乐图书馆《走向自然 疗心爵士乐》[FLAC/分轨][184.94MB]
- 陈慧娴.2018-Priscilla-Ism演唱会3CD(2024环球红馆40复刻系列)【环球】【WAV+CUE】
- 郑秀文.1999-我应该得到(国)【华纳】【WAV+CUE】
- 陈家慧.2011-钢琴酒吧2CD【龙吟唱片】【WAV+CUE】
- 证声音乐图书馆《雨季 蓝调吉他 Rainy Blues》[320K/MP3][45.01MB]
- 证声音乐图书馆《雨季 蓝调吉他 Rainy Blues》[FLAC/分轨][109.13MB]
- 赞多《序章》[320K/MP3][45.54MB]
- 许巍.2004-每一刻都是崭新的【步升大风】【WAV+CUE】
- 群星.2024-四方馆影视原声带【韶愔音乐】【FLAC分轨】
- 陈雷.1997-安锁咧【金圆唱片】【WAV+CUE】
- 关淑怡.2013-MY.FAVORITE.SK.3CD【环球】【WAV+CUE】
- Sweety.2006-花言乔语【丰华】【WAV+CUE】
- 李恕权.2003-回·20年全精选2CD【SONY】【WAV+CUE】