Javascript基础(二)——注意事项
本来是想一篇博客写完呢,不过感觉篇幅大了,就分了两篇。这篇接着上一篇来总结,Javascript初学者需要注意的一些事项:
二,注意事项:
第1,2两点,注意区分大小写和单引号,双引号的上一篇博客已经提到!我们从第三个开始说。
3,括号:在Javascript中括号包含两种语义,一是分隔符;二是表达式。
例如:分隔符:(1+3)*3==12中括号就起着分隔符的含义。
表达式:(function(){})();这里前边一个括号表示分隔符,后边一个表示立刻执行这个方法。
4,函数调用和引用:
例如:var foo=example();
varfoo1=example;
第一个表示调用函数example的返回值给foo,第二个表示将函数的引用赋给一个值foo1.
5,换行:
无论使用哪种引号创建字符串,字符串中间都不能包含强制换行符。
换行可以通过在行的结尾加上“\”或者在下一行的前边用连接符“+”来告知浏览器上下两行是一行 连续的。
例如:
var temp='<h2 class ="a"> A list</h2>' +"<ol>" +'<li class="n"> Foo</li>' +"</ol>";
等价于:
var temp='<h2 class ="a"> A list</h2>'\ "<ol>"\ '<li class="n"> Foo</li>'\ "</ol>";
6,分号,大括号可选:
在Javascript中每行语句的最后并不是必须用分号结尾,这是可选项;里边的大括号也是可选项。但是为了避免某种歧异,强烈建议大家都不全这些东西。几个例子:
Alert("nihao !");和alert("nihao !") 有无分号,是没有区别的;
却是完全不同的!
7,不支持重载:
Javascript虽然也是面向对象编程的,但是从在在这里却不支持。
例如:
function myFunction(a,b){};
function myFunction(a)();
这两个同时出现在脚本代码中,由于不支持重载,会导致下边的函数将上边的函数覆盖。
8,作用域,闭包:
作用域:其实和我们代码编程里边的命名空间相似,就是指某一属性或方法具有访问权限的代码空间,也就是我们经常说的局部变量,全局变量等等。例如:
function myFunction(){
var temp="ljh";
}
上边的temp在函数外面无法访问。
闭包:是和作用域息息相关的,就是能够读取其他函数内部变量的函数。可以理解为定义在函数内部的函数。
例如:
function f1(){ n=999; function f2(){ alert(n); } return f2; } var result=f1(); result(); // 999
当然闭包的用途:一个是前面提到的可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中。例如:
function f1(){ var n=999; nAdd=function(){n+=1} function f2(){ alert(n); } return f2; } var result=f1(); result(); // 999 nAdd(); result(); // 1000
result实际上就是闭包f2函数。它一共运行了两次,第一次的值是999,第二次的值是1000。这证明了,函数f1中的局部变量n一直保存在内存中,并没有在f1调用后被自动清除。
这些既是闭包的优点,又是闭包的缺陷,使用闭包时一定要慎用。
综上,为一下我们学习Javascript需要注意的一些事项,当然还有很多,这里这是简单列出几点。更多的学习还需要我们不断的实践。