JavaScript基础概念(变量,标识符,关键字)

tech2023-07-09  98

JavaScript基础概念

文章目录

JavaScript基础概念变量分类基本数据类型1. 数值类型2. 字符串类型3. 布尔类型4. Undefined 和 null 标识符注释关键字保留字 JavaScript是弱类型脚本语言,声明变量时无需指定变量的数据类型。JavaScript变量的数据类型是解释时动态决定的。但是JavaScript的值保存在内存中,也是数据类型的。

变量分类

基本数据类型

JavaScript基本数据类型有如下五个

数值类型

布尔类型

字符串类型

Undefined类型

Null类型

1. 数值类型

与强类型语言如C、Java不同,JavaScript的数值类型不仅包括所有的整形变量,也包括所有的浮点型变量。JavaScript语言中的数值都是以IEEE 754双精度浮点数格式保存。JavaScript中的数值形势非常丰富,完全支持用科学计数法表示。科学计数法形如5.12e2代表5.12乘以10的2次方,5.12E2也代表5.12乘以10的2次方。

科学计数法中E为间隔符号,E不区分大小写。

var a = 5E2; var b = 1.23e-3;

注意:数值直接量不要以0开头。因为JavaScript支持八进制和十六进制。八进制以0开头,十六进制以0x或0X开头。

当数值类型超出了其表述范围时,将出现两个特殊值:Infinity(正无穷大)和-Infinity(负无穷大。)

// 定义x为最大的数值 var x = 1.7976931348623157e308; // 再次增加x的值 x = x + 1e292;

2. 字符串类型

JavaScript的子串富川必须用引号括起来,此处的引号既可以是单引号,也可以是双引号。

var a = "12345678912aaa"; var a = '12345678912aaa';

JavaScript和Java中的字符串主要有两点区别:

JavaScript中的字符串可以用单引号括起来,没有字符和字符串的区别;

JavaScript中比较两个字符串的字符序列是否相等使用 == 即可,无需使用equals()方法。

常用的转义字符

序转义字符使用说明0NUL 字符(\u0000)1\b后退一格(Backspace)退格符(\u0008)2\f换页(Form Feed)(\u000C)3\n换行(New Line)(\u000A)4\r回车(Carriage Return)(\u000D)5\t制表(Tab)水平制表符(\u0009)6’单引号(\u0027)7"双引号(\u0022)8\反斜线(Backslash)(\u005C)9\v垂直制表符(\u000B)10\xNN由两位十六进制数值NN指定的Latin-1字符11\uNNNNN由四位十六进制数NNNN指定的Unicode字符12\NNN由一位到三位八进制数(1到377)指定的Latin-1字符。ECMAScript v3不支持,不要使用这种转义序列

3. 布尔类型

布尔类型的值只有两个:true和false。布尔类型的值通常是逻辑运算的结果,或用于标志对象的某种状态。

var a = false; var b = true;

4. Undefined 和 null

Null:

null是js中的关键字,表示空值,null可以看作是object的一个特殊的值,如果一个object值为空,表示这个对象不是有效对象。

Undefined:

undefined不是js中的关键字,其是一个全局变量,是Global的一个属性,以下情况会返回undefined:

使用了一个未定义的变量;var i;

使用了已定义但未声明的变量;

使用了一个对象属性,但该属性不存在或者未赋值;

调用函数时,该提供的参数没有提供:

function func(a){ console.log(a); } func();//undefined 函数没有返回值时,默认返回undefined var aa=fun(); aa; //undefined

但如果不进行精确比较,很多时候undefined和null本身就想等,即nullundefined将返回true。如果要精确区分null和undefined,应该考虑使用精确等于符(=)

标识符

和其他任何编程语言一样,JavaScript 保留了一些标识符为自己所用。

JavaScript 同样保留了一些关键字,这些关键字在当前的语言版本中并没有使用,但在以后 JavaScript 扩展中会用到。

JavaScript 标识符必须以字母、下划线(_)或美元符($)开始。

后续的字符可以是字母、数字、下划线或美元符(数字是不允许作为首字符出现的,以便 JavaScript 可以轻易区分开标识符和数字)。

注释

JavaScript中的注释分为两种,单行注释和多行注释

示例代码:

// 单行注释---弹出警告框alert("single"); /* 多行行注释---弹出警告框 alert("multiple"); */ alert("EOL"); //行尾注释

注意事项

保持良好的注释风格有利于后期维护

关键字

关键字可用于表示控制语句的开始或结束,或者用于执行特定操作等。关键字也是语言保留的,不能用作标识符。以下是ECMAScript的全部关键字:

break | do | instanceof | type case | else | new | var catch | finally | return | void continue | for | switch | while debugger | function | this | with default | if | throw delete | in | try

保留字

保留字也不能用作标识符,尽管保留字在这门语言中还没有任何特定的用途,但它们有可能在将来被用作关键字。以下是ECMA-262第3版定义的全部保留字:

abstract | enum | int | short boolean | export | interface | static byte | extends | long | super char | final | native | synchronized class | float | package | throws const | goto | private | transient debugger | implements | protected | volatile double | import | public

第5版把在非严格模式下运行时的保留字缩减为下列这些:

class | enum | extends | super const | export | import

在严格模式下,第五版还对以下保留字施加了限制”

implements | package | public interface | private | static let | protected | yield

注意:let和yield是第5版新增的保留字,其他都是第3版定义的。

在实现ECMAScript3和JavaScript引擎中使用关键字作标识符,会导致“Identifier Expected”错误。而使用保留字作标识符可能会也可能不会导致相同的错误,具体取决于特点的引擎。

除了上面列出的保留字和关键字。ECMA-262第5版对eval和arguments还施加了限制。在严格下,这两个名字也不能用作标识符或属性名,否则会抛出错误。

最新回复(0)