Javascript
是一种基于对象和事件驱动的客户端脚本语言
处理复杂的计算机交互
组成
ECMAScript(语法)、Browser Objects(DOM、BOM)(特性)组成

内部脚本
<script></script>
使用标签将脚本语言包含在内,标签可以位于<head>和<body>中
外部脚本
<script src=""></script>
Javascrip 语法
注释及分号
// 单行注释
/**/ 多行注释
语句结束后要加分号
语法
javascript中一切变量函数名和操作符都区分大小写
标识符
变量、函数、属性的名字,或者函数的参数
命名规则
- 由字母,数字,下划线(-)或美元符号($)组成
- 不能由数字开头
- 不能使用关键字、保留字等作为标识符
变量
变量是松散类型--即可以用来保存任何类型的数据
每个变量仅仅是一个用于保存值的占位符
-
变量声明:
var+变量名 一次声明多个变量,变量中间用逗号隔开
-
变量赋值: 声明的同时进行赋值或先进行声明再进行赋值
-
说明: 省略var声明的变量是全局变量
不推荐使用省略var来定义全局变量
-
当需要使用到存储值是则需要定义变量
Javascript 数据类型
基本数据类型:
- Undefined
- Null
- Boolean
- Number
- String
复杂数据类型:
- Object
typeof
变量本身是没有类型的,变量的类型取决于变量所赋的值
typeof+变量 或 typeof(变量)

console.log //在控制台中打印
eg:



Undefined--未定义的
- undefined类型只有一个值,即特殊的undefined
说明: 一般而言,不存在需要显式的把一个变量设置为undefined值的情况

Null
- 表示空对象指针
- 如果定义的变量准备在将来用于保存对象,那么最好将改变两初始化为null而不是其他值
说明:undefined值是派生自null值的,所以undefined==null的返回结果为true
Number
- Number:表示整数和浮点数
- NaN:即非数值(Not a number),即本身要返回一个数字,但返回值无法是一个数字,故会返回NaN
eg:

说明:
- 任何涉及NaN的操作,都会返回NaN
- NaN与任何值都不相等,包括NaN本身
isNaN:
- 语法:
isNaN(n)
- 功能:检测n是否是"非数值"
- 返回值:boolean(只有两个值,分别为真、假)
eg:

说明:
isNaN()对于接收的数值,先尝试转换为数值,再检测是否为非数值
eg:

数值转换
有三个函数可以把非数值转换为数值
```
Number()
parseInt()
parseFloat()
```
说明:
- Number()可以用于任何数据类型
- parseInt()和parseFloat()则专门用于把字符串转换成数值
Number:

若转换内容为字符串的话,则转换后的数据类型为NaN
parseInt():

说明:
- 转换空字符串返回NaN,操作的变量必须以数字开头,提取字符串中的数值
- 这个函数提供第二个参数:转换时使用的基数(即多少进制)
parseFloat
从第一个字符开始解析每个字符,直至遇见一个无效浮点数字符为止
说明: 除了第一个小数点有效外,第二个无效,parseInt()与parseFloat()第二个区别在于parseFloat()始终都会忽略前导的0

string
用于表示由0或多个16位Unicode字符组成的字符序列,即字符串。字符串必须由('')("")表示
字符串转换
语法:str.toString()
功能:将str转换为字符串
返回值:str的字符串副本
参数:str是要转换的内容,可以是数值,布尔值,对象和字符串
说明:在不知道要转换的值是不是null或undefined的情况下,还可以使用String()函数,它能够将任何类型的值转换为字符串
eg:

Boolean
用于表示真假的类型,即true表示真,false表示假

类型转换
- 除0以外的所有数字,转换为布尔型都为true
- 除""之外的所有字符,转换为布尔型都为true
- null和undefined转换为布尔型的false



Javascript表达式
将同类型的数据,用运算符号按一定的规则连接起来的、有意义的式子
- 算数操作符
- 逻辑操作符
- 赋值操作符
- 比较操作符
- 三元操作符
算数操作符--其返回值类型都为Number
-
+:加
-
-:减
-
*:乘
-
/:除
-
%:取余
-
递增:++a与a++都是对a进行递增操作
区别:
++a先返回递增后的a的值 a++先返回a的值,再返回递增之后的值
-
递减:与递增同理
说明:
在进行运算前,浏览器会自动对于要进行运算的变量进行数值转换,若可以转换,则返回最终的计算值,若不可转换,则返回NaN

自增自减运算符:(与c相同)

赋值操作符
- 简单赋值:=
- 复合赋值:+=、-=、*=、/=、%=
相加的内容中有一项为字符串,则加号的作用就是连接两部分内容

比较操作符


两个等号表示两者之间值是否相等,三个等号表示值相等的同时,变量类型是否相等,返回值为Boolean,即真或假,不等的情况与等于同理
三元操作符


逻辑操作符
- 与:&&
- 或:||
- 非:!
与&&
只要两个值中有一个为false,则返回false

说明:
在有一个操作数不是布尔值的情况,逻辑与操作就不一定返回值
如果第一个操作数隐式类型转换后为true,则返回最后一个操作数

如果第一个操作数隐式类型转换后为false,则返回第一个操作数

如果一个操作数为null,则返回值为null,undefined与NaN同理

或||
多个操作数只要有一个成立,则返回为true,当第一个条件成立的情况下,计算机不往下执行操作

说明:
在有一个操作数不是布尔值的情况,逻辑与操作就不一定返回值
- 如果第一个操作数隐式类型转换后为true,则返回第一个操作数
- 如果第一个操作数隐式类型转换后为false,则依次往后直到有true,,打印相应的操作数,若都不为true,则返回最后一个值
- 如果两个操作数都是null,则返回null,NaN与undefined同理,多个操作数也同理

非!
- !true=false
- !false=true

说明:
- 无论操作数是什么数据类型,逻辑非都睡返回一个布尔值
- !!同时使用两个逻辑非操作符时:
- 第一个逻辑非z操作会基于无论什么操作数返回一个布尔值
- 第二个逻辑非则对该布尔值求反
