js概念
-
与网页进行交互的脚本语言,有一定的逻辑性
-
JavaScript是一门面向对象的、跨平台的脚本语言
-
面向对象:面向对象的属性和方法,没有顺序要求
- 对象:就是一系列的属性的方法构成
-
跨平台:能够通过浏览器在不同的操作系统上运行
-
脚本语言:凡是不能独立运行的程序,需要依赖其他程序才能执行的语言叫做脚本语言,也叫做动态语言
- 脚本语言的特点:辅助、简单、即写即所得
-
js组成
-
ECMAScript :定义语法规范 (保留字、关键字 相当于交规)【核心】
-
BOM : 浏览器对象模型
- 控制浏览器的前进、后退、刷新、关闭...
-
DOM :文档对象模型
变量
- 变量指的是在程序中保存数据的一个容器
- 变量的初始值为 undefined
声明变量的关键字 var
- 语法:var 变量名 = 变量值
变量的命名规则
- 只能是数字,字母,下划线,$
- 不能以数字开头
- 不能是保留字,关键字
- 严格区分大小写
- 驼峰命名法
大驼峰:类、构造函数
小驼峰:变量、形参 - 语义化
关键字和保留字
数据类型
- 我们通常分为两类基本数据类型和复杂数据类型
基本数据类型
-
数值类型(number):整形和浮点型
-
一切数字都是数值类型(包括二进制【表示方式:数字前加(0b)】,十进制,十六进制【包括1-9、a、b、c、d、e、f,表示方式:数字前加(0x)】)
toString() 10进制转至其他进制
parseInt() 其他进制转至10进制
-
NaN(not a number),一个非数字【特殊值】
isNaN(num)函数:该函数判断num变量的值是否是NaN .是NaN返回true .数字返回false
-
-
字符串类型(string
-
布尔类型(boolean)
- 只有两个:true或false
-
undefined【声明了变量,但未赋值】
-
null类型(null)
-
object(Array、Function、Date...)
数据类型检测
- typeof
var a = 'hello'
var result = typeof a
console.log(result) //返回的结果为String
var b = 12
console.log(typeof b) //返回结果为number
数据类型转换
转为数值类型(number)
- Number(值)
- parseInt(值)
- parseFloat(值)
- 隐式转换:除了加法以外的数学运算( - * / % ) 和 ==
转为字符串类型
- 值.toString()
- String(值)
- 隐式转换:使用【+】,只要【+】任意一边是字符串,就会进行字符串拼接
转为布尔型
- 非空字符串为true,空字符串为false
- 非0为true,0和NaN为false
- null和undefined始终为false
- 对象为true,只要对象不等于null
运算符
分类
-
算数运算符:
+、-、*、/、%**** -
赋值运算符:
=、+=、-=、*=、/=、%= -
比较运算符:
==、===、!=、!==、>=、<=、>、<比较运算符规则 1. 数值与数值比较,直接比较大小 2. 数值与字符串比较,字符串转换成数值,再比较大小 3. 字符与字符串比较,把字符转换成ASCII码,再比较大小 ASCII码常见取值范围 a ~ z 97 ~ 122 A ~ Z 65 ~ 90 0 ~ 9 48 ~ 57 -
逻辑运算符:|| && !
逻辑与 && 符号左右两边都为true,结果为true 逻辑或 || 符号左右两边只要有一边为true,结果为true 逻辑非 ! 进行取反,例: !true结果是false !false结果是true !!true结果是true 短路运算符: 逻辑与 && 和 逻辑或 || 又被称为短路运算符 逻辑与&&,如果第一个操作数返回是 false,第二个数不管是true还是false都会返回false 逻辑或||,当第一操作数的求值结果为 true, 就不会对第二个操作数求值了 -
一元运算符:++ --
a++ a-- 先取值,后运算 ++a --a 先运算,后赋值 -
三元运算符: ? :
语法:条件 ? 条件为true的时候执行 : 条件为false的时候执行 例: var age = 18 age >= 18 ? alert('已成年') : alert('没有成年') -
位移运算符:>> <<
>> 右位移 << 左位移 2>>2等于0 2<<2等于8 2 2把第1个2 ,转换成2进制,再向左边或右边移动n位,n: 就是第2个数