03JavaScript基础

03JavaScript基础

一、语法

1.区分大小写

ECMAScript中的一切,包括变量、函数名和操作符都是区分大小写的

2.标识符

所谓标识符,就是指变量、函数名、属性的名字,或者函数的参数。

标识符命名规则:

  • 第一个字符必须是字母、下划线(_)或者美元符号($)

  • 其他字符可以是字母、下划线、美元符号或数字

  • 不能把关键字、保留字、true、false和null作为标识符

3.注释

ECMAScript使用C风格的注释,包括单行注释和块级注释

  • 单行注释 //

  • 多行注释(块级注释) /* 被注释内容 */

4.直接量(字面量literal)

所有直接量(字面量),就是程序中直接显示出来的数据值

100 //数字字面量
‘前端开发' //字符串字面量
false //布尔字面量
/js/gi //正则表达式字面量
null //对象字面量

二、关键字和保留字

1.关键字

ECMAScript-262描述了一组具有特定用途的关键字,一般用于控制语句的开始或结束,或者用于执行特定的操作等

ECMAScript关键字

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

2.保留字

ECMAScript-262描述了另一组不能作为标识符的保留字,尽管保留字在JavaScript中还没有特定的用途,但是它们很有可能在将来被作为关键字

ECMAScript保留字

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等

三、变量

ECMAScript的变量是松散类型的,所谓松散类型就是用来保存任何类型的数据

定义变量时要使用var操作符(var 是关键),后面跟一个变量名(变量名是标识符)

<script type="text/javascript">
var company;
alert(company);  //alter在浏览器中弹出一个弹框
</script>

所谓变量,就是可以初始化后可以再次改变的量。ECMAScript属于弱类型(松散类型的)语言,可以同时改变不同类型的量

<script type="text/javascript">
var company = 'IT教育';
var company = '前端开发';
alert(company);
</script>

注意:虽然可以改变不同类型的量,但对于后期维护就带来了困难,而且性能也不高,导致成本很高

四、数据类型

1.数据类型介绍:

ECMAScript中有五种简单数据类型,一种复杂数据类型

ECMAScript不支持任何创建自定义类型的机制,JavaScript中的所有值都应该是以下六种之一:

  1. undefined

  2. null

  3. boolean

  4. number

  5. string

  6. object(复杂类型)

2.typeof操作符

typeof操作符是用来检测变量的数据类型,对于值或变量使用typeof操作符会返回以下字符串:

  • undefined #未定义

  • boolean #布尔值

  • string #字符串

  • number #数值

  • object #对象或null

  • function #函数

typeof操作符可以操作变量,也可以操作字面量,typeof是操作符而非内置函数

注意:函数在ECMAScript中是对象,而不是一种数据类型

所以,使用typeof来区分function和object是非常有必要的

3.undefined类型

undefined类型只有一个值,即特殊的undefined

在使用var声明变量,但没有对其初始化时,这个变量的值就是undefined

4.null类型

null类型是一个只有一个值的数据类型,即特殊的值null,它表示一个空对象引用(指针),而typeof操作符检测null会返回object

注意:undefined是派生自null的

5.boolean类型

boolean类型有两个值:true和false,而true不一定等于1,false也不一定等于0

JavaScript是区分大小写的,True和False或者其他都不是boolean类型的值

虽然boolean类型只有true和false两种,但ECMAScript中所有类型的值都与true或false等价转换的值

要将一个值转换为其对应的boolean值,可以使用转型函数boolean()<也称为强制转换>

boolean隐式转换

在if条件语句里面的条件判断,就村子隐式转换

其他类型转换成Boolean类型规则

数据类型 转换为TRUE值 转换为FALSE值  
boolean true false  
string 任何非空字符串 空字符串  
number 任何非零数字值(包括无穷大) 0和NaN  
object 任何对象 null  
undefinde   undefined  

6.number类型

number类型包含两种数值:整数类型和浮点类型

注意:ECMAScript会自动将可以转换为整型的浮点数值转成为整型

NaN

NaN 即非数值(Not a Number)是一个特殊的值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况(这样就会抛出错误)

ECMAScript提供了isNaN()函数,来判断这个值到底是不是NaN

isNaN()函数在接收到一个值之后,会尝试将这个值转换为数值

7.string类型

string类型用于表示由于零或多个16位Unicode字符组成的字符序列,即字符串

字符串可以由双引号或单引号表示,引号不行成对出现

ECMAScript的字符串是不可变的,字符串一旦创建,它们的值就不能改变。

要改变某个变量保存的字符串,首先要销毁原来的字符串,然后再用另一个包含新值的字符串填充该变量

8.object类型

ECMAScript中的对象其实就是一组数据和功能的集合

对象可以通过执行new操作符后跟要创建的对象类型的名称来创建

var obj = new Object();

Object()里面可以传参,可以是传数值、字符串、布尔值等,而且还可以进行相关的计算

五、运算符

ECMAScript描述了一组用于操作数据值的运算符,包括:

  • 一元运算符

  • 算术运算符

  • 关系运算符

  • 逻辑运算符

  • 三元运算符

  • .....

ECMAScript中的运算符适用于很多值,包括字符串、数值、布尔值、对象等

1.一元运算符

只能操作一个值的运算符叫做一元运算符

递增++和递减——

2.算术运算符

ECMAScript定义了五个算术运算符:

加减乘除求模(取余)<+、-、*、/、%>

3.关系运算符

用于进行比较的运算符称为关系运算符:

小于(<)、大于(>)、小于等于(<=)、大于等于(>=)、等于(==)、

不等于(!=)、全等(恒等)(===)、不全等(不恒等)(==)

当关系运算符操作非数值时要遵循以下规则:

  • 两个操作数都是数值,则数值比较

  • 两个操作数都是字符串,则比较两个字符串对应的字符编码值

  • 两个操作数有一个是数值,则将另一个转换为数值,再进行数值比较

  • 两个操作数有一个是对象,则先调用valueof()方法或tostring()方法,再用结果比较

4.逻辑运算符

逻辑运算符通常用于布尔值的操作,一般和关系运算符配合比较

有三个逻辑运算符:

  • AND(逻辑与)<&&>

  • OR(逻辑或)<||>

  • NOT(逻辑非)<!>

5.三元运算符

三元运算符其实是if语句的简写形式

<script type="text/javascript">
var box = 5 > 4 ? '对' : '错'; //对,5>4返回true则把'对'赋值给box,反之。
</script>

表达式1 > 表达式2 ? 结果1 : 结果2

  • 如果表达式1 > 表达式2 则返回结果1

  • 如果表达式1 < 表达式2 则返回结果2s

猜你喜欢

转载自blog.csdn.net/weixin_42248871/article/details/110095691