javascript学习(二)javascript常见问题总结


Posted in Javascript onJanuary 02, 2013

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不一样了。
Javascript 相关文章推荐
JS将光标聚焦在文本最后的实现代码
Mar 28 Javascript
JavaScript实现检查页面上的广告是否被AdBlock屏蔽了的方法
Nov 03 Javascript
浅谈JavaScript Array对象
Dec 29 Javascript
详解JavaScript基于面向对象之创建对象(2)
Dec 10 Javascript
Hammer.js+轮播原理实现简洁的滑屏功能
Feb 02 Javascript
BootStrap响应式导航条实例介绍
May 06 Javascript
购物车前端开发(jQuery和bootstrap3)
Aug 27 Javascript
Chrome不支持showModalDialog模态对话框和无法返回returnValue问题的解决方法
Oct 30 Javascript
详解key在Vue列表渲染时究竟起到了什么作用
Apr 20 Javascript
vue项目中引入Sass实例方法
Aug 27 Javascript
解决vue 使用setTimeout,离开当前路由setTimeout未销毁的问题
Jul 21 Javascript
js实现表格单列按字母排序
Aug 12 Javascript
javascript学习(一)构建自己的JS库
Jan 02 #Javascript
jQuery常见开发技巧详细整理
Jan 02 #Javascript
js显示时间 js显示最后修改时间
Jan 02 #Javascript
通过JS自动隐藏手机浏览器的地址栏实现原理与代码
Jan 02 #Javascript
js 回车提交表单两种实现方法
Dec 31 #Javascript
event.currentTarget与event.target的区别介绍
Dec 31 #Javascript
jQuery $.data()方法使用注意细节
Dec 31 #Javascript
You might like
php实现将字符串按照指定距离进行分割的方法
2015/03/14 PHP
WordPress中转义HTML与过滤链接的相关PHP函数使用解析
2015/12/22 PHP
Zend Studio使用技巧两则
2016/04/01 PHP
PHP+Mysql无刷新问答评论系统(源码)
2016/12/20 PHP
Laravel框架实现定时Task Scheduling例子
2019/10/22 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
2020/02/23 PHP
纯js和css实现渐变色包括静态渐变和动态渐变
2014/05/29 Javascript
javascript闭包的理解
2015/04/01 Javascript
全面解析Javascript无限添加QQ好友原理
2016/06/15 Javascript
原生JS实现风箱式demo,并封装了一个运动框架(实例代码)
2016/07/22 Javascript
20分钟打造属于你的Bootstrap站点
2016/07/27 Javascript
Javascript中document.referrer隐藏来源的方法
2017/01/16 Javascript
js实现带进度条提示的多视频上传功能
2020/12/13 Javascript
从parcel.js打包出错到选择nvm的全部过程
2018/01/23 Javascript
JS实现为动态创建的元素添加事件操作示例
2018/03/17 Javascript
vue基于两个计算属性实现选中和全选功能示例
2019/02/08 Javascript
VUE搭建手机商城心得和遇到的坑
2019/02/21 Javascript
vue 实现Web端的定位功能 获取经纬度
2019/08/08 Javascript
ElementUI 修改默认样式的几种办法(小结)
2020/07/29 Javascript
vue3.0+vue-router+element-plus初实践
2020/12/02 Vue.js
利用python获取当前日期前后N天或N月日期的方法示例
2017/07/30 Python
快速了解Python开发中的cookie及简单代码示例
2018/01/17 Python
python如何使用unittest测试接口
2018/04/04 Python
异步任务队列Celery在Django中的使用方法
2018/06/07 Python
python 随机森林算法及其优化详解
2019/07/11 Python
Python将string转换到float的实例方法
2019/07/29 Python
Python二元赋值实用技巧解析
2019/10/25 Python
基于Keras的格式化输出Loss实现方式
2020/06/17 Python
python 发送邮件的示例代码(Python2/3都可以直接使用)
2020/12/03 Python
计算机开发个人求职信范文
2013/09/26 职场文书
中专自我鉴定范文
2013/10/16 职场文书
网页美工求职信
2014/02/15 职场文书
销售岗位职责范本
2014/06/12 职场文书
合伙开公司协议书范本
2014/10/28 职场文书
灵山大佛导游词
2015/02/04 职场文书
小学课改工作总结
2015/08/13 职场文书