JavaScript高级的学习在于对象的学习,而这些的基础就是JavaScript基础了,因此在学习高级以前先将JavaScript基础部分复习一下吧.html
第一部分:变量数组
变量是贯穿了JavaScript学习和应用的每一个方面,在变量部分咱们须要掌握如下几个方面:函数
1 变量做用域学习
变量的做用域分为两个:全局做用域和局部做用域htm
全局做用域:指script标签下的全局范围内.对象
全局变量:指在script标签根节点声明的变量为全局变量,或者window.变量的方式获取的变量也为全局变量,或者函数中未被声明的变量会进行隐式声明成全局变量.ip
局部做用域:指函数内部范围.作用域
局部变量:指在函数内部声明的变量.字符串
2 变量的声明提早it
在html页面加载html代码时,会先将变量的声明提高至变量对应做用域的最前面.
也就是说若是在变量声明赋值以前调用变量的话,只能获取到变量可是没法获取到变量的赋值,返回的undefined.
3 变量的调用
变量的调用须要注意两点:
1. 局部做用域调用变量时,先查找是否存在对应变量名的局部变量,若是没有就去全局中找对应变量名的全局变量.
2. 函数中发生隐式声明的全局变量,须要先调用函数后才能在全局做用域中读取到该变量.
第二部分:数据类型
JavaScript中注意的数据类型分为基本类型和复杂类型,每一个包含和注意的部分有许多,其中咱们须要注意的有:
1 数据类型分类
基本类型:数组,字符串,布尔,null,undefined.
复杂类型:对象类型(键值对的集合):window,document,数组,正则,函数等
2 检测数据类型
咱们可使用typeof检测不一样类型的数据,可是其中有几个是特殊的.
null检测到数据类型是"object",function检测到数据类型是"function".
其余的对象的数据类型都是"object",还有基本数据检测到的是对应的数据类型.
3 数据类型转换
类型转换中最主要的是数字和字符串的相互转换.
数字转字符串:toString(),+"",String().
字符串转数字:Number(),perseInt(),parseFloat().
4 值类型和引用类型的传递
值类型就是基本数据类型,引用类型就是复杂数据类型,二者的值传递是不一样的.
值类型的传递:发生传递时是将一个变量中的值复制一份给另外一个变量.
引用类型的传递:发生传递时是将指向对象的地址引用给另外一个变量.
第三部分:运算符
运算符类型不少,咱们不止须要知道有哪些运算符,还须要知道每一个运算符对应的功能是哪些.
1 算术运算符:+,-,*,/,%,++,--
注意:++a:先自加后参与运算
a++:先将原值参与运算,后自加
2 赋值运算符:=,+=,-=....
3 比较运算符
== 会进行隐式数据类型的转换,再判断值,并不考虑数据类型
=== 不会进行隐式数据类型的转换,先判断数据类型后再判断值
4 逻辑运算符
&&:若是左边的值为真值的话,直接返回右边的值;若是左边的值为假值的话,直接返回左边的值.
||:若是左边的值为真值的话,直接返回左边的值;若是左边的值为假值的话,直接返回右边的值.
注意:
转换为布尔为假的值有:0,false,null,undefined,NaN,""
5 三元运算符
判断语句?成立时输出的值:不成立时输出的值;
第四部分:语句
语句主要包含如下几个:
选择语句:if,if..else,if..elseif..else,switch(){case}
循环语句:while,do..while,for,for..in
语句的使用须要根据实际状况而定,在功能知足的状况下,视具体状况将语句进行简化.
第五部分:函数
函数的使用主要是函数的参数,返回值,和函数的声明
1 函数的参数
函数的参数分为形参和实参:
形参:指的是函数声明时定义的函数内部须要用到的参数.
实参:指的是函数调用时传递给函数的参数.
2 返回值
返回值的存在与否决定于return
若是函数内没有return护足return后没有须要返回的值,则咱们获取到的返回值为undefined.若是return后有值,则获取到的返回值就是这个值.
注意:return后除了声明的语句之外都不在执行,缘由是声明语句会被提高至做业域的最前面
3 函数声明提高
函数声明也会像变量声明同样被提高至做用域的最前面,可是若是函数声明和变量声明同时被提高时,会先提高变量声明后提高函数声明.