当javaScript从入门到提高前需要注意的细节:变量部分
到了HTML5的时代,对javaScript的要求不是降低了,而是更提高了。javaScript语言的入门非常简单,如果你有java、C#等C风 格的结构化语言的基础,那javaScript你最多半天就可以写点什么了。但是javaScript是一种动态语言,这个特性决定了他在很多方面和 java、C#等语言有极大的不同。很多人说只要会java、C#就可以在短时间内搞定javaScript,估计一般都是吹牛来的,用 javaScript写点简单的应用没有问题,如果要完全比较好的掌握,那需要真正的理解javaScript的动态这个特性。
当你快速的了解的javaScript入门编程后,在提高开发能力之前,需要的是确保掌握javaScript的编程细节或者说特殊性。
而且和css在不同的浏览器中有兼容性问题一样,javaScript在不同的浏览器和版本中也同样有不同的变化。
我 认为javaScript入门之后,向中级(基于面向对象的编程)发展之前,有两个问题会对开发者有影响:类型的动态和语法的灵活性。而这两点的集合,是 另很多入门级的javaScript人员造成各种诡异问题的核心。我这篇文章不讨论关于语法的基础,关于核心对象的方法,也不关心dom的处理,这些内容 在网上的任何javaScript教程中都有,我们讨论一个些基于代码级别但容易写错的地方,为你将来的高质量的javaScript奠定些好的基础。
我以下的内容是在IE7/8、Chrome14、FireFox10下进行测试。同时声明一个事情,下面的内容的次序比较随意,比javaScript还随意,不是作为一步步的教程给零基础看的。需要你至少有些javaScript的代码经验了。
关于变量部分
在javaScript中变量使用var声明的变量是当前作用域的变量,不使用var声明的则肯定是全局变量。
01
<script type="text/javascript">
02
03
var x = 10; //全局
04
y = 100; //全局
05
06
function fun1() {
07
var m = 99; //局部
08
n = 9; //全局
09
}
10
11
alert(typeof this.x); //number
12
alert(typeof this.y); //number
13
alert(typeof this.m); //undefined
14
alert(typeof this.n); //undefined
15
fun1();
16
alert(typeof this.m); //undefined
17
alert(typeof this.n); //number
18
19
20
</script>
以上代码说明,当fun1被执行后,函数内没有用var声明的n变量,被注册为全局变量了。
下面的代码得到同样的执行效果
01
<script type="text/javascript">
02
03
var x = 10; //全局
04
y = 100; //全局
05
06
function fun1() {
07
var m = 99; //局部
08
n = 9; //全局
09
}
10
11
alert(typeof window.x); //number
12
alert(typeof window.y); //number
相关新闻>>
- Javascript 兼容 IE6、IE7、FF 的“加入收藏”“设为首页”
- 好好学一遍JavaScript 笔记(一)——基础中的基础
- 好好学一遍JavaScript 笔记(二)——encode、数组、对象创建
- 好好学一遍JavaScript 笔记(三)——StringBuffer、prototype
- 好好学一遍javaScript 笔记(四)——Attribute、HTML元素、文档碎
- 好好学一遍JavaScript 笔记(五)——正则表达式基础
- 好好学一遍JavaScript 笔记(六)——正则表达式基础二
- 好好学一遍JavaScript 笔记(七)——RegExp对象与常用正则
- 好好学一遍JavaScript 笔记(八)——冒泡型事件、捕获型事件
- Gridx入门
- 发表评论
-
- 最新评论 更多>>