欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JavaScript基础语法与数据类型介绍

程序员文章站 2024-03-29 13:15:16
一、javascript语法1、区分大小写ecmascript中的一切,包括变量、函数名和操作符都是区分大小写的。例如:text和text表示两种不同的变量。2、标识符所谓标识符,就是指变量、函数、属...

一、javascript语法

1、区分大小写

ecmascript中的一切,包括变量、函数名和操作符都是区分大小写的。例如:text和text表示两种不同的变量。

2、标识符

所谓标识符,就是指变量、函数、属性的名字,或者函数的参数。标识符可以是下列格式组合起来的一个或多个字符:

  • a、第一个字符必须是一个字母,下划线(_)或一个美元符号($).
  • b、其他字符可以是字母、下划线、美元符号或数字。
  • c、不能把关键字、保留字、true、false和null作为标识符。

例如:myname、book123等。

3、注释

ecmascript使用c风格的注释,包括单行注释和块级注释。

示例:

4、变量

ecmascript的变量是松散类型的,所谓松散类型就是用来保存任何类型的数据。定义变量时要使用var操作符(var是关键),后面跟一个变量名(变量名是标识符)
var box 声明变量
var box=100 声明变量并且初始化

二、javascript的数据类型

ecmascript中有5种简单数据类型:undefined、null、boolean、number和string。还有一种复杂的数据类型-object。ecmascript不支持任何创建自定义类型的机制,所有值都是以上6种数据类型之一。

1、undefined类型

  • undefined类型只有一个值,即undefined。
  • 表示未定义或者定义未赋值。

看下面的例子:

效果:

JavaScript基础语法与数据类型介绍

效果:

JavaScript基础语法与数据类型介绍

我们没有必要显式的给一个变量赋值为undefined,因为没有赋值的变量会隐式的赋值为undefined;而undefined主要的目的是为了用于比较,ecmascript第3版之前并没有引入这个值,引入之后为了正式区分空对象与未经初始化的变量。

注:未初始化的变量与根本不存在的变量(未声明的变量)也是不一样的。

如果typeof box,typeof age都返回的undefined。从逻辑上思考,他们的值,一个是undefined,一个报错;他们的类型,却都是undefined。所以,我们在定义变量的时候,尽可能的不要只声明,不赋值。

2、null类型

null类型是一个只有一个值的数据类型,即特殊的值null。它表示一个空对象引用(指针),而typeof操作符检测null会返回object。
看下面的例子:

效果:

JavaScript基础语法与数据类型介绍

如果定义的变量准备在将来用于保存对象,那么最好将该变量初始化为null。这样。当检查null值就知道该变量是否已经分配了对象。

3、boolean类型

boolean类型有两个值:true和false。而true不一定等于1,false不一定等于0,javascript是严格区分大小写的,true和false或者其他都不是boolean类型的值。
看下面例子:

效果:

JavaScript基础语法与数据类型介绍

注意:

虽然boolean类型的字面量只有true和false两种,但ecmascript中所有类型的值都有与这两个boolean值等价的值。要将一个值转换为与其对应的boolean值,可以使用转型函数boolean()。

上面是一种显示转换,属于强制性转换。而实际应用中,还有一种隐式转换。比如,在if条件语句里面的条件判断,就存在隐式转换。

4、number

number类型包含两种数值:整型和浮点型。
浮点数值的取值范围:number.min_value和number.max_value之间。
alert(number.min_value); //最小值
alert(number.max_value); //最大值

看下面的例子:

效果:

JavaScript基础语法与数据类型介绍

注意:

number类型除了整型和浮点型,还有另外一种类型:nan,即非数值(not a number)是一个特殊的值,这个数值用于表示一个本来要返回数值的操作数而未返回数值的情况(这样就不会抛出错误了)。比如,在其他语言中,任何数值除以0都会导致错误而终止程序执行。但在ecmascript中,会返回特殊的值,因此不会影响程序执行。
例如:

结果:

JavaScript基础语法与数据类型介绍

可以通过number.nan得到nan值,任何与nan进行运算的结果均为nan,nan与自身不相等(nan不与任何值相等)。

ecmascript提供了isnan()函数,用来判断这个值到底是不是nan。isnan()函数在接收到一个值之后,会尝试将这个值转换为数值。

isnan()函数也适用于对象。在调用isnan()函数过程中,首先会调用valueof()方法,然后确定返回值是否能够转换成数值。如果不能,则基于这个返回值在调用tostring()方法,在测试返回值。

有3个函数可以把非数值转换为数值:number()、parseint()和parsefloat()。number()函数是转型函数,可以用于任何数据类型,而另外两个则专门用于把字符串转换成数值。

5、string类型

string类型用于表示由零个或多个16为unicode字符组成的字符序列,即字符串。字符串可以由双引号("")或单引号('')表示。
例如:

注:在某些其他语言中,单引号和双引号表示的字符串解析方式不同,而ecmascript中,这两种表示方法没有任何区别。但要记住的是,必须成对出现,不能穿插使用,否则会出错。
例如:

如果值有tostring()方法,则调用该方法并返回相应的结果;如果是null或者undefined,则返回"null"或者"undefined"。

6、object类型

ecmascript中的对象其实就是一组数据和功能的集合。对象可以通过执行new操作符后跟要创建的对象类型的名称来创建。

三、typeof操作符

typeof操作符是用来检测变量的返回值,为字符串类型。对于值或者变量使用typeof操作符会返回如下字符串:

JavaScript基础语法与数据类型介绍

例如:

结果:

JavaScript基础语法与数据类型介绍

注意:

  • typeof操作符返回的都是字符串。

typeof操作符可以操作变量,也可以操作字面量。虽然也可以这样使用:typeof(box),但是,typeof是操作符而非内置函数。

ps:函数在ecmascript中是对象,不是一种数据类型,所以,使用typeof来区分function和object是非常有必要的。

到此这篇关于javascript基础语法与数据类型的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持。