初探javascript
javascript是一种在网络广泛应用的脚本语言,虽然名字与java相近,但其实两者并没有直接的关系,脚本语言是一种为了便于操作和拓展功能而开发出来的解释性语言,不同于传统的编程语言,脚本语言不需要编译即可通过解释器运行,各大浏览器中均内置javascript解释器。
html中提供了script标签来标明需要使用javascript解释器的代码块,script标签可以放在html文件的任意位置(为了保证js代码可以引用指定的html内容,通常放在html文档的最后,及/body标签和/html标签间),在script标签内,可以通过src属性指定需要引用的javascript文件的路径,需要注意的是,如果在标签上使用了src属性引入了js文件,script标签内的代码将不会被解释。示例代码如下:
<script type="text/javascript"> alert(1); </script>
javascript由三部分组成,1.由欧洲计算机制造商协会制定的标准:ECMAscript 可以将javascript看做是ECMAscript的实现和功能扩展,ECMAscript为javascript制定了作为标准的语法和基本对象。2.文档对象模型(DOM),用于描述处理网页内容的方法和接口。3.浏览器对象模型(BOM),用于描述与浏览器进行交互的方法和接口。
javascript是一种弱类型语言,具有相当的交互性,安全性(无法直接访问硬盘),与跨平台性,javascript只有5种数据类型,并只能用var关键字进行声明(可以省略),这5种数据类型分别为1.String2.Boolean3.Number4.Undefined5.Null 如果一个变量声明后没有被赋值,这个变量就被解释为Undefined类型,而Number类型用于存储数据,但是并不区分是小数还是整数,所以/运算符在js中总是表示为除法而不是取整。可以通过typeof运算符判断指定变量的数据类型,通过instanceof运算符判断指定变量的引用类型。
js的数组也使用var关键字进行数组声明(可省略),由于js的弱类型特性,js的数组中可以存放不同类型的数据,js的数组有两种声明方式,一种是通过直接赋值(如var array=[4,5,6]),另一种是通过new一个Array类型的对象并传入数组的值或长度(如var array=new Array(3)或var array=new Array(3,4,5))。
js的函数需要用到function关键字进行声明,同样,由于js的弱类型特性,js的函数不需要标明返回值类型,形参列表也不需要用var关键字声明类型,只需标明形参名称就可以了。类似数组的概念,js中可以通过函数名传递该函数的引用。
为了避免频繁地修改函数体的内容以改变功能,js提供了动态函数的概念,可以将函数体作为参数动态地创建函数如var add = new Function("x,y","var sum;sum=x*y;return sum;");方便起见,还可以通过传递引用的方式创建匿名函数,如var add = function (x,y){return x+y;};
除了在函数体内创建的变量,script标签中的变量均为全局变量,在整个页面范围内都有效。