02_JavaScript基础

JavaScript是一种基于对象和事件驱动,并具有安全性能的解释型脚本语言。
 

1,数据类型

本节只介绍基本数据类型。复合数据类型在后面的章节介绍。

1.1 数值类型

JavaScript中的数值型并不区别整型数值和浮点型数值。在JavaScript中,所有的数值都是由浮点型表示的。
 
当一个数字直接出现在JavaScript程序中时,称之为数值直接量(numericliteral)。
 
  • 十进制
    • 0、10、-3
  • 十六进制
    • 0xFF
  • 八进制:由于JavaScript的某些实现支持八进制数据,而有些实现则不支持。
    • 05
  • 浮点型数据:有两种表示形式
    • (1)传统记数法。传统记数法是将一个浮点数分为整数部分、小数点和小数部分,如果整数部分为0,则可以省略整数部分。
    • (2)科学记数法。使用科学记数法表示浮点型数据,即实数后跟随字母e或E,后面加上一个带正号或负号的整数指数,其中正号可以省略。
6e+5
3.26e10
1.234E-3
  • 特殊值Infinity
在JavaScript中有一个特殊的数值Infinity(无穷),如果一个数值超出了JavaScript所能表示的最大值的范围,那么就会输出Infinity;如果一个数值超出了JavaScript所能表示的最小值的范围,那么就会输出-Infinity
document.write(1/0)
document.write("</br>")
document.write(-1/0)
  • 特殊值NaN
      NaN(not a number的简写),即非数字。在进行数学运算时产生了未知的结果或错误,JavaScript就会返回NaN,表示该数学运算的结果不是一个数字。
alert(0/0);  //输出0除以0的值
 

1.2 字符串型

  • 程序中的字符串型数据是包含在单引号或双引号中的:
    • 由单引号定界的字符串中可以含有双引号;
    • 而由双引号定界的字符串中也可以含有单引号;
 
  • 常用转义字符

1.3 布尔类型

布尔数据类型只有两个值,即true(真)和false(假)。
 
有时候可以把两个可能的布尔值看作on(true)和off(false),或者看作yes(true)和no(false),这样比将它们看作true和false更为直观。也可以把它们看作1(true)和0(false),这样会更加有用(实际上JavaScript确实是这样做的,在必要时会将true转换成1,将false转换成0)。
 

1.4 特殊数据类型

  • Js 中存在两种特殊数据类型
    • 未定义值(undefined),表示变量还没有赋值(如var a;)。
    • 空值(null)。JavaScript中的关键字null是一个特殊的值,表示空值,用于定义空的或不存在的引用。这里必须要注意的是,null不等同于空的字符串("")或0。当使用对象进行编程时可能会用到这个值。由此可见,null与undefined的区别是,null表示一个变量被赋予了一个空值,而undefined则表示该变量尚未被赋值。
 

2,常量和变量

 

2.1 常量

常量是指在程序运行过程中保持不变的数据。
 

2.2 变量

变量是指程序中已经命名的存储单元,主要作用是为数据操作提供存储信息的容器。
变量是相对常量而言的。常量是一个不会改变的固定值,而变量的值可能会随着程序的执行而改变。
变量有两个基本特征,即变量名和变量值。
 

1,变量的命名

 
  • JavaScript中变量的命名规则如下。
    • 必须以字母或下画线开头,其他字符可以是数字、字母或下画线。
    • 变量名不能包含空格或加号、减号等符号。
    • 变量名是严格区分大小写的。例如,UserName与username代表两个不同的变量。
    • 不能使用JavaScript中的关键字作为变量名。JavaScript中的关键字如表2.2所示。
 

2,变量的使用

Js 中变量使用前需要先声明。
  • 一次定义一个变量:var username;
  • 一次定义多个变量:var age,sex,username;
 

3,变量的赋值

  • 方式一:var lesson='你好,世界'
 
  • 方式二:
var lesson;
lesson='hello world'
 
  • 方式三:直接定义,不声明:str='未声明的变量
 
  • 说明
    • (1)如果只是声明了变量,并未对其赋值,则其值默认为undefined。
    • (2)可使用var语句重复声明同一个变量,也可在重复声明变量时为该变量赋一个新值。
    • 在JavaScript中,必须先定义变量才可使用,不能直接使用未经定义的变量。
 

4,数据类型

Js 是一种弱类型的语言,因此同一个变量可以为数值型、布尔型、字符串型。
var num = 100
num = '这是一个数字'
 

3,运算符

  • 可以分为单目运算符、双目运算符和三目运算符;
  • 按运算符的功能可以分为算术运算符、字符串运算符、比较运算符、赋值运算符、逻辑运算符、条件运算符和其他运算符。

3.1 算术运算符

算术运算符用于在程序中进行加、减、乘、除等运算。
 
  • 注意
在使用“/”运算符进行除法运算时,如果被除数不是0,除数是0,则得到的结果为Infinity;如果被除数和除数都是0,则得到的结果为NaN。
 
  • “+”除了可以作为算术运算符,还可用于连接字符串,作为字符串运算符。
 

3.2 字符串运算符

3.3 比较运算符

3.4 赋值运算符

3.5 逻辑运算符

3.6 条件运算符

条件运算符是JavaScript支持的一种特殊的三目运算符,其语法格式如下。
表达式?表达式正确执行:表达式错误执行
document.write(1==1?"true":"false")
 

3.7 其他运算符

1,逗号运算符

逗号运算符用于将多个表达式排在一起,整个表达式的值为最后一个表达式的值。
var a,b,c,d;         //声明变量
a=(b=5,c=6,d=7);     //使用逗号运算符为变量a赋值
alert("a的值为"+a);  //输出变量a的值

2,typeof

typeof运算符用于判断操作数的数据类型。结果可以返回一个字符串,该字符串说明了操作数是什么数据类型。这对于判断一个变量是否已被定义特别有用。
 
typeof 操作数
 

3,new 运算符

在JavaScript中有很多内置对象,如字符串对象、日期对象和数值对象等,通过new运算符可以创建一个新的内置对象实例。
对象实例名称 = new 对象类型(参数)
对象实例名称 = new 对象类型
 

3.8 运算符的优先级

 

4,表达式

表达式是运算符和操作数组合而成的式子,表达式的值就是对操作数进行运算后的结果。
 
  • 按运算结果可以分为 3 种:
    • (1)算术表达式:运算结果为数字的表达式被称为算术表达式。
    • (2)字符串表达式:运算结果为字符串的表达式被称为字符串表达式。
    • (3)逻辑表达式:运算结果为布尔值的表达式被称为逻辑表达式。
 

5,js 中数据类型转换规则

JavaScript 允许运算符对不匹配的操作数进行计算。在执行代码过程中,JavaScript会根据需要自动进行类型转换,但是在转换时也要遵循一定的规则。
 

其他数据类型转换为数值型数据

 

其他数据类型转换为逻辑型数据

其他数据类型转换为字符串型数据

 
 
posted @ 2025-12-08 08:08  Su0ne  阅读(2)  评论(0)    收藏  举报