JavaScript基本概念(一)

本文深入讲解JavaScript的基础语法,包括字符集、大小写敏感性、标识符、注释、严格模式等核心概念,并介绍变量的基本类型与引用类型的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、语法

1、字符集

JavaScript程序用Unicode字符集编写。
由于有些计算机无法显示或输入Unicode字符全集,JavaScript定义了一种特殊序列,使用6个ASCII字符来代表任意16位Unicode内码。这些Unicode转义序列均以\u为前缀,其后跟随4个十六进制数。

2、区分大小写

ECMAScript中的一切(变量、函数名和操作符)都区分大小写。

【注】HTML不区分大小写,XHTML区分大小写。

3、标识符

指变量、函数、属性的名字,或者函数的参数。

按下列格式规则组合一或多个字符:

  • 第一个字符必须是一个字母、下划线(_)或一个美元符号($)。
  • 其他字符可以是字母、下划线、美元符号或数字。
  • 采用驼峰大小写格式,即第一个字母小写,剩下的每个单词的首字母大写。
4、注释
ECMAScript使用C风格的注释,包括单行注释和块级注释。
  • 单行注释:以两个斜杠开头。
//单行注释
  • 块级注释:以一个斜杠和一个星号(/)开头,以一个星号和一个斜杠(/)结尾。
/*
*这是一个多行
*(块级)注释
*/
5、严格模式

为JavaScript定义了一种不同的解析和执行模型。
在顶部添加如下代码:

"use strict";
6、语句

以一个分号结尾。

二、关键字和保留字

1、关键字:具有特定用途。
关键字描述
break用于跳出循环。
catch语句块,在try语句块执行出错时执行 catch 语句块。
continue跳过循环中的一个迭代。
do…while执行一个语句块,在条件语句为 true 时继续执行该语句块。
for在条件语句为true时,可以将代码块执行指定的次数。
for…in用于遍历数组或者对象的属性(对数组或者对象的属性进行循环操作)。
function定义一个函数
if…else用于基于不同的条件来执行不同的动作。
return退出函数
switch用于基于不同的条件来执行不同的动作。
throw抛出(生成)错误 。
try实现错误处理,与 catch 一同使用。
var声明一个变量。
while当条件语句为 true 时,执行语句块。
2、保留字:不能用作标识符,暂时还没有任何特定的用途。
JavaScript最重要的保留字(字母顺序)
abstractelseinstanceofsuper
booleanenumintswitch
breakexportinterfacesynchronized
byteextendsletthis
casefalselongthrow
catchfinalnativethrows
charfinallynewtransient
classfloatnulltrue
constforpackagetry
continuefunctionprivatetypeof
debuggergotoprotectedvar
defaultifpublicvoid
deleteimplementsreturnvolatile
doimportshortwhile
doubleinstaticwith

三、变量

松散类型,可以用来保存任何类型的数据。换句话说,每个变量仅仅是一个用于保存值的占位符而已。

可能包含两种不同数据类型的值:

  • 基本类型值(简单的数据段):保存在变量中的实际的值。在内存中占据固定大小的空间,保存在栈内存中。
  • 引用类型值(可能由多个值构成的对象):保存在内存中的对象。保存在堆内存中。

【注】
1)JavaScript不允许直接访问内存中的位置,即不能直接操作对象的内存空间。在操作对象时,实际上是在操作对象的引用而不是实际的对象。
2)包含引用类型值的变量实际上包含的并不是对象本身,而是一个指向该对象的指针。

1、变量命名
  • 必须以字母、下划线或美元符号开头,后面可以跟字母、下划线、美元符号和数字。开头不能用数字,不能用除(_ $)外的特殊符号。
  • 变量名区分大小写。
  • 不允许使用JavaScript关键字和保留字做变量名。
2、定义变量
var 变量名;
  • 变量声明但未赋值时 ,初始值是undefined。
  • 在严格模式下,不能定义名为eval或arguments的变量,否则会导致语法错误。
3、变量赋值:使用“=”号给变量存储内容。
4、局部变量与全局变量

用var操作符定义的变量将成为定义该变量的作用域中的局部变量,也就是说,如果在函数中使用var定义一个变量,那么这个变量在函数退出后就会被销毁。举个例子,看下面这段代码:

function test(){
    var message = "hi";  //局部变量
}
test();
alert(message);  //错误!

这里的变量message在函数中使用var定义,当函数调用之后,这个变量就会立即销毁。但是,省略var操作符就会创建一个全局变量,便不会发生上面的错误。具体看如下代码:

function test(){
    message = "hi";  //全局变量
}
test();
alert(message);  //"hi"

虽然避免了上述错误,但是此做法不推荐。因为在局部作用域中定义的全局变量很难维护。

特别注意的是,在全局作用域编写代码时可以不写var语句,但声明局部变量时必须使用var语句。建议是最好始终使用var语句声明变量。否则会出现全局变量被修改,全局命名空间被搞乱的情况。

5、变量生命周期
  • 在变量声明时初始化。
  • 局部变量在函数执行完毕后销毁。
  • 全局变量在页面关闭后销毁。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值