AI智能
改变未来

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


JavaScript基础概念

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()方法。

常用的转义字符

转义字符 使用说明
0 NUL 字符(\\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) 打赏
未经允许不得转载:爱站程序员基地 » JavaScript基础概念 (变量,标识符,关键字)