文章目录
一、变量
1.变量语法扩展
- var 只声明不赋值结果为undefined
- 不声明不赋值直接使用会报错
- 不声明直接赋值使用不报错
2.变量命名规范
- 字母,数字,下划线,美元符号组成(不能以数字开头)。
- 驼峰命名法
二、数据类型
1.变量的数据类型
-
变量的数据类型是可以变化的
-
Infinity代表无穷大,大于任何数值。 -Infinity代表无穷小
-
NaN代表非数字, isNaN()判断是否是数字
2.简单数据类型
- 转义字符都是以\开头的
- 字符串的长度length
- 字符串的拼接 +
- 有一个字符相+相连,两个数值相加
- 字符串可以和变量拼接,方便修改变量的值
- undefined和字符相+结果相连,和数值相加结果为NaN
- null和数值相加为数字,和字符相加结果相连(11null)
- null的数据类型为object
3.数据类型转换
-
数值型转换:parseInt函数(也可以取整)parseInt(‘3.14’)//3
parseFloat:可以把字符型转化为小数
也可以利用算数运算 - * / 隐式转换 -
Boolean转换:除了“”,0,NaN,null,undefined为false,其他值都为true
三、运算符
1.算数运算符
- +, - , *, /, %
2.递增运算符
- 递增(++),递减(–),配合变量使用
3.比较运算符
- ==会默认转换数据类型(18 == ‘18’)//true
- === 全等(要求值和数据类型都完全相同)
4.逻辑运算符
- 逻辑与短路运算 :如果表达式1结果为真, 则返回表达式2。如果表达式1为假,返回表达式1。(123 && 456 && 34 * 12)// 456(后续表达式不看)
- 逻辑或:如果表达式1结果为真, 则返回表达式1。如果表达式1为假,返回表达式2。
四、循环
- for、while、do-while(先执行一次,再判断执行,至少执行一次)
五、数组
1.数组使用
- 利用new创建数组
- 利用数组字面量创建数组
var arr = [1, 2, 'pink老师',true]
- 数组中存放的元素可以是任意类型
2.获取数组元素
- 数组长度:数组名.length
3.遍历数组
- 数组转化为字符串:+拼接
六、函数
1.函数的概念
function 函数名 (){}
2.arguements的使用
- 只有函数才有arguements对象
- arguements里面存储了所有传递过来的实参,是一个伪数组。
- 伪数组具有数组的length属性,按照索引的方式进行存储的,没有真正数组的一些方法pop(),push()等等。
3.函数声明方式
- 利用函数关键字自定义函数
function fn (){}
- 函数表达式声明
var fun = function(aru){
}
七、作用域
- 在全局作用域下声明的变量叫全局变量
- 全局作用域下var声明的变量是全局变量
- 特殊情况下,在函数内不使用var声明的变量也是全局变量
- 局部变量只在函数内部使用,代码块运行结束以后,就会被销毁,更节省内存空间
- 块级作用域{}
八、作用域链
- 内部函数访问外部函数的变量,采取的是链式查找的方式来决定取哪个值,这种结构称为作用域链。