JavaScript语法基础
JavaScript:JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,用来给HTML网页增加动态功能。
弱类型:对于用vs写c#代码来说,.(点)不出来,即代码智能提示,都是运用错误的,而JavaScript不同,一些方法没有确切的定义,同时也有灵活性的特点
JavaScript的一些基本语法(一些语言编程基础的省略):
1、运行环境:
<script type="text/javascript"></script>
所有的JavaScript代码都写在script标签中的。一个页面可以有很多script标签,网页代码从上往下依次执行,不过一般script标签都是写在head标签里面的
2、变量的定义
var a; a=10; var b=false; var b='字符串';
变量的命名规范:开头只能使用字母和"$"或"_",声明字符串变量用''(单引号),或者“”(双引号)都不会错,为了区分其他代码,JavaScript字符串一般采用单引号。(个人习惯)
变量的作用域:在页面中声明的变量,在整个页面中任何地方都可以访问,当重复声明变量的时候,JS会自动忽略第一次以后所有声明语句,但赋值会正常。
小结:不管什么变量,声明都只能使用var,不合法的命名错误:缺少标识符
3、数据类型的分类
(1)基本类型
(a)Undefined:声明但未赋值
(b) Null :空类型
(c)Boolean:布尔类型 true false
(d)String:字符串类型,在JS中,为基本类型
(e)Number:数字,NaN (not a number)
(2)引用类型
Object 对象,内存空间地址,也就是指针
4、值类型转换
(1)隐式转换:按照系统的逻辑进行类型转换
(2)显示转换:
parseInt(): //转换成整数的函数,只能对字符串类型进行转换,其他类型结构都是NaN,工作原理:从第一个字符起,一个个解析,遇到非数字停止解析。第一个终止就为NaN(Not a Number)Number数据类型
parseInt(n,8): //把n当做8进制来转换,转换成10进制
parseFloat(): //转换成小数的函数
5、运算符
== //两边相等就可以不要求数据类型(隐式转换),使用判断时,认为null与undefined相同 === //严格等于,要求等号两边数据类型,还有值一致,否则返回false 运用于 switch()的判断 instanceof //判断一个对象是否为另一个对象的实例 typeof //查看值的数据类型 new //构造一个新的对象实例 void //取消返回值运算符 delete //用来删除对象的属性或数组中的元素 in // 验证一个对象是否包含某属性
6、循环语句:
for……in循环: for(var in object){ 语句;} //适用于对象,键值对
7、函数
function fn(参数){方法体;} //1、参数的声明不需要关键字 var 2、即使声明了参数,调用的时候也可以不传递参数值 3、调用函数时,可以传递若干个参数值给函数
一些总结:1、JS中没有函数重载的概念,所以遇到同名的函数,会用最后一次函数定义覆盖前面的函数定义
2、函数有“预解析”功能,执行代码之前会将所有的函数进行预解析
3、当一个方法当做对象使用,它的tostring就是返回该方法的源代码,length返回形参的个数
8、匿名函数(没有函数名称的函数)
定义:
var f1=function(x,y){alert('匿名函数');}; //可传递参数
f1(1,1); //调用
var f1 = new Function('参数1','参数2','方法体;') //参数可变,注:Function 而不是function f1(10,20); //调用
ps:匿名函数赋值给变量时,没有预解析功能,代码从上到下依次执行
9、字符串操作
length属性 //获取字符串的字符个数(无论中文字符还是英文字符,都算为一个字符) charAt(index) //获取指定索引位置的字符 indexOf('字符串',startIndex) //获取指定字符串第一次出现的位置,startIndex从第几个开始搜索
substr(startIndex,len) //从startIndex开始,截取len个字符 substring(startIndex,stopIndex) //从startIndex开始,截取到stopIndex位置(不包括stopIndex) split('分隔符',limit); //根据分隔符进行截取(正则表达式) limit:限定返回数组的长度(并非数组元素的长度) toLowerCase() //转小写
toUpperCase() //转大写
ps:总结的一些基础,还有常用,详细参照帮助文档w3cschool