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

JavaScript基础概念


JavaScript是弱类型脚本语言,声明变量时无需指定变量的数据类型。JavaScript变量的数据类型是解释时动态决定的。但是JavaScript的值保存在内存中,也是数据类型的。

变量分类

image-20200903151554907

基本数据类型

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;

img

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

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

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

img

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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值