Js简介2——js常见问题
1. 区分大小写
Js中方法和变量是区分大小写的,如
function myFunction(){}和function MyFunction(){}是不一样的。
2. 单引号,双引号
单引号,双引号在js中没有特殊区别,都可以用来创建字符串。但作为一般性规则,大多数js开发人员使用单引号。因为XHTML规范要求所有属性值必须使用双引号。Js中使用单引号,使混合XHTM和js的代码更方便清晰。(单引号中可以包含双引号,双引号中也可以包含单引号)
3. 括号
两种含义:1分隔符 2表达式
(1+3)*3=12 分隔符
(function(){})();
Function之前的一对括号作为分隔符,后面的括号表示立即执行这个方法
4. 函数调用和引用
var foo=example();
var foo1=example;
foo表示函数的返回值,另一个将函数引用赋给一个值foo1
5. 换行
无论使用哪种引号创建字符串,字符串中间不能包含强制换行符。
var temp=’<h2 class=”a”>A list</h2>
<ol>
</ol>’;
这样是错误的。
正确写法:(1)使用反斜杠来转义换行符
var temp=’<h2 class=”a”>A list</h2>\
<ol>\
</ol>’;
(2)使用连接字符串
Var temp=’<h2 class=”a”>A list</h2>’+
‘<ol>’+
‘</ol>’;
6. 分号和大括号可选
Js中每行语句的最后并不是必须用分号结尾。条件分支也不是必须用大括号。
7. 重载
Js中不支持重载,这里说的重载相当于替换。后面的同名函数会覆盖到之前的函数。而且js中的方法只与方法名有关,与参数个数,类型都无关。
8. 作用域,闭包
作用域指对某一属性或方法具有访问权限的代码空间。如
Function myFunction(){
Var temp=”abc”;
}
上面的temp在外面无法访问
闭包是与作用域相关的一个概念,它指的是内部函数即使在外部函数执行完成并终止后仍然可以访问其外部函数的属性。