JavaScript的语法

.基本数据类型

字符串型:string

字符串什么意思?简称“串”。有限字符的序列。数据元素为字符的线性表,是一种数据的逻辑结构。在计算机中可有不同的存储结构。在串上可进行求子串、插入字符、删除字符、置换字符等运算。

小数型:float

整数型:int

时间日期型:dateting

布尔型:bool

bool表示布尔型变量,也就是逻辑型变量的定义符

.变量

1.变量的类型

Javascript和Java、C这些语言不同,它是一种无类型、弱检测的语言。它对变量的定义并不需要声明变量类型,我们只要通过赋值的形式,可以将各种类型的数据赋值给同一个变量。

2.变量的声明

JS中变量申明分显式申明和隐式申明。 

var i=100;//显式申明
  i=100;//隐式申明
  在函数中使用var关键字进行显式申明的变量是做为局部变量,而没有用var关键字,使用直接赋值方式声明的是全局变量。  
  当我们使用访问一个没有声明的变量时,JS会报错。而当我们给一个没有声明的变量赋值时,JS不会报错,相反它会认为我们是要隐式申明一个全局变量,这一点一定要注意。 

3.全局变量和局部变量

当JS解析器执行时,首先就会在执行环境里构建一个全局对象,我们定义的全局属性就是做为该对象的属性读取,在顶层代码中我们使用this关键字和window对象都可以访问到它。而函数体中的局部变量只在函数执行时生成的调用对象中存在,函数执行完毕时局部变量即刻销毁。因此在程序设计中我们需要考虑如何合理声明变量,这样既减小了不必要的内存开销,同时能很大程度地避免变量重复定义而覆盖先前定义的变量所造成的Debug麻烦。 

4.变量作用域

任何程序语言中变量的作用域都是一个很关键的细节。JS中变量的作用域相对与JAVA、C这类语言显得更自由,一个很大的特征就是JS变量没有块级作用域,函数中的变量在整个函数都中有效。

5.基本类型和引用类型

JS不同于JAVA、C这些语言,在变量申明时并不需要声明变量的存储空间。变量中所存储的数据可以分为两类:基本类型和引用类型。其中数值、布尔值、null和undefined属于基本类型,对象、数组和函数属于引用类型。
  基本类型在内存中具有固定的内存大小。例如:数值型在内存中占有八个字节,布尔值只占有一个字节。对于引用型数据,他们可以具有任意长度,因此他们的内存大小是不定的,因此变量中存储的实际上是对此数据的引用,通常是内存地址或者指针。

三.类型转换

类型转换分为自动转换和强制转换,一般用强制转换。

方法主要有三种

转换函数、强制类型转换、利用js变量弱类型转换。

1. 转换函数:

parseInt()把字符串转成整数

parseFloat()把字符串转成浮点数

js在处理变量的数学运算时一点要注意变量类型的转换

JS 字符串转整数 JS 字符串转整数方法主要有三种转换函数、强制类型 转换、利用js 变量弱类型转换。

 js 提供了parseInt()和parseFloat()两个转换函数。

前者把值转换成整 数,后者把值转换成浮点数。只有对String 类型调用这些方法,这两个函数才 能正确运行;对其他类型返回的都是NaN(Not aNumber)。 在判断字符串是否是数字值前,parseInt()和parseFloat()都会仔细分析 该字符串。 parseInt()方法首先查看位置0 处的字符,判断它是否是个有效数字;如 果不是,该方法将返回NaN,不再继续执行其他操作。但如果该字符是有效数 字,该方法将查看位置1 处的字符,进行同样的测试。这一过程将持续到发现 非有效数字的字符为止,此时 parseInt()将把该字符之前的字符串转换成数字。

例如,如果要把字符串"1234blue"转换成整数,那么parseInt()将返回 1234,因为当它检测到字符b 时,就会停止检测过程。 字符串中包含的数字字面量会被正确转换为数字,因此字符串"0xA"会被正 确转换为数字10。 不过,字符串"22.5"将被转换成22,因为对于整数来说,小数点是无效字 符。 一些示例如下: Js 代码parseInt("1234blue");//returns 1234parseInt("0xA"); //returns 10parseInt("22.5");//returns 22parseInt("blue");//returns NaNparseInt()方法还有基模式,可以把二进制、八进制、十六进制或其他任何 进制的字符串转换成整数。 基是由parseInt()方法的第二个参数指定的,所以要解析十六进制的值, 需如下调用parseInt()方法: Js 代码parseInt("AF",16);//returns 175 当然,对二进制、八进制, 甚至十进制(默认模式),都可以这样调用parseInt()方法: Js 代码parseInt("10",2);//returns 2parseInt("10",8);//returns 8parseInt("10",10);//returns 10 如果十进制数包含前导0,那么最好采用 基数10,这样才不会意外地得到八进制的值。

 

posted @ 2017-03-23 23:48  田紫楦  阅读(129)  评论(0编辑  收藏  举报