Javascript脚本语言,写习惯了其实也和C#和Java等语言一样有着规规矩矩的语法要求,只是平时使用过程中会遇到各种浏览器兼容问题,有时同样一个脚本操作在不同浏览器上有的会有结果有的没有结果,这个让开发者头痛的会觉得javascript是一种很不规则的语言,它不会像C#、Java、VB等语言那样编译调试过程中会自动预先报错提示,尽管各种IDE都有加入javascript脚本的编写调试功能各浏览器也支持调试,但是如果js不是写的那么三五行的量,就不会那么好处理js脚本的异常问题。
Javascript的方法其实也是和C#、Java等语言一样写法。把js的脚本操作封装在方法里面,这样优化代码用以重复调用,而不需要重复写封装在里面的具体操作代代码。熟悉的Jquery如果按照C#或Java语言的思路也可以就叫做js的类库,Jquery里面提供丰富的操作方法。在页面里面只需要引入Jquery文件,即可调用它的各种方法。
Javascript定义变量用var,这里和其它语言不同,它没有强调变量类型,只需要var a=1;或var a="1";这样便完成了定义。有趣的是这样一个示例:var a=1;var b="1";这个让它们两个变量相加会顺利通过,var c=a+b;这样相加如果是在C#等语言里在写的过程中都会提示错误,更加不用说编译了,在javascript里面在这里c=a+b的结果是“11”。这时你认为它是int型也可以,认为是string类型也可以,它没那么要求必须要明码标记规定清楚是什么类型,这里的11显然是string类型;接着如果把c*5,这样var d=c*5;这时它照样又会变成int数字类型来给出结果为55,不管用c加减乘除任何数字都以数字11来对应来完成。这就是写javascript程序出错异常频率最多的地方,是不是javascript真的没有变量类型呢?不是,它有toString()、parseInt()、parseFloat()转换方法,就是说明javascript必须遵守数据类型来处理变量(其他bool,日期date,null都有),虽然它不用明码定义类型,直接数字字符相加它不会报错,并且会给出结果。但是程序的正确执行结果是按照数据类型来完成,在javascript里面需要开发在处理变量时,记得将变量类型转换。例如前两天用js写一个分页就是这种情况困扰了几个小时,忘了把页码数值强制转化成int型,这里变量pageSet为1,(pageSet+1)*10=110; 忘记转换成int型,正确写法应该(parseInt(pageSet) + 1) * 10=20;。