javascript学习中的常见问题总结
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页面:
复制代码 代码如下:
function init(){
for(var i=1;i<=3;i++){
author=lementById("author"+i);
ick=function(){
alert("author"+i);
}
}
}
ad=init;
abc
abc
abc
运行结果:
pic
可以看到,这并不是我们想要的。
进行修改后,关键代码如下:
复制代码 代码如下:
function init(){
for(var i=1;i<=3;i++){
author=lementById("author"+i);
registerListener(author,i);
}
}
function registerListener(author,i){
ick=function(){
alert("author"+i);
}
}
ad=init;
这样,我们就得到了我们想要的.结果。
这是因为init每次调用都产生function的一个实例,每个实例里都维护了一个新的i
而对于匿名函数的上一级已经有这个i,而且已经和init里的i不一样了。
-
结构抗震概念设计的基本原则
建筑结构抗震概念设计的目标是使整体结构能发挥耗散地震能量的作用,避免结构出现敏感的薄弱部位,地震能量的耗散如果仅集中在极少数的薄弱部位,将会导致结构过早破坏。一、结构的简单性结构简单是指结构在抗震作用下具有直接和明确的传力途径,结构的计算模型、内力...
-
淘宝直通车要怎样才能开好
用直通车推广不需要太大量,要有针对性的选择产品推广即可,自己店铺里的宝贝哪些是比较好卖的,哪些是量多的,哪些最容易让顾客看一眼就淘腰包的……然后就选择哪几款。一定要记住,选品推广在精不在多。针对性的做几个有效果的推广,总比泛滥的盲目去推也没...
-
word安全模式修复方法
word安全模式修复今天启动Word时,弹出如下提示:“MicrosoftOfficeWord遇到问题需要关闭。我们对此引起的不便表示抱歉遇到问题需要关闭。您正在处理的信息有可能丢失。MicrosoftOfficeWord可以尝试为您恢复。恢复我的工作并重启MicrosoftOfficeWord。请将此问题...
-
移动硬盘突然识别不了
导语:移动硬盘顾名思义是以硬盘为存储介质,计算机之间交换大容量数据,强调便携性的存储产品,系统不能识别移动硬盘怎么办呢?在正常情况下,移动硬盘同主机相连后系统即可将它认成“移动存储设备”,并自动在“我的电脑”中添加盘符。如果系统将移动硬盘认成“未知的USB...