浅谈JavaScript学习
首先列一下JavaScript要研究学习的东西,学习任何东西都要具备一定的基础,当然这个基础并一定限于同行业的知识,可以是你的兴趣,爱好,把这些当成学习的基础,那么你的成功就指日可待了,好了废话少说,开始步入JavaScript正题。
1、语法结构
2、数据类型
3、变量
4、表达式和运算符
5、数组
6、控制结构和循环
7、函数
8、正则表达式
9、对象
10、事件
11、DOM
12、拖放
1、语法结构
- 空白符 不可缺
-- 大小写敏感
--- 标识符
---- 保留字
----- 分号可选;
------ 语句注释:
1)// 当前行注释
2)/*
多行注释
*/
3){} javascript要执行的代码块
4)分号;或换行定义语句的结束
2、数据类型
1)字符串类型:
---转义序列:
\b 回退 \f 换页 \n 换行 \r 回车符
\t 制表符 \’ 单引号 \” 双引号 \\ 反斜杠
\xNN NN是一个十六进制数,表示一个拉丁字符
\uDDDD DDDD是一个十六进制数,表示一个Unicode字符
2)数字类型:浮点数:12.568,整数:256
3)布尔值类型:Boolean:true,false
4)空值(Null):代表变量什么也不是
5)未定义值(Undefined): var a//变量a 这时的状态
3、变量
变量名必须以字母或下划线开始,其他部分可以使用数字、字母、美元符和下划线构成。
JavaScript变量名区分大小写,可使用骆驼命名法:变量名以一个小写字母开始,后面的单词首字母大写且没有空格。
变量名声明以关键字var开始。
关键字
保留字
4、表达式和运算符
1)逻辑运算符和比较运算符
比较运算符:比较操作数并返回布尔值
常用的比较运算符:
== 相等判定 如果相等,返回值为:true,否则为:false
!= 不等判定 如果不等,返回值为:true,否则为:false
> 大于判定
>= 大于等于判定
< 小于判定
<= 小于等于判定
String对象大小写字母判定:toUpperCase() ;toLowerCase() 。
总结:比较字符串时,小写的ASCⅡ码值大于大写开头的字符;都是小写的,字母顺序排在前面的小于后面的字符;都是大写的,字母顺序排在前面的小于后面的字符。
String对象的数据值比较:valueOf()
逻辑运算符:判定多个条件的情况
&& 与 两个条件都必须为真 一假全假
|| 或 其中一个或两个必须为真 一真全真
! 非 原逻辑相反 真假相反
2)typeof运算符
返回值:
undefined
boolean
number
string
object
3)instanceof 运算符
用于识别正在处理对象的类型,这个方法要求必须确认对象为某特定的类型。
4)一元运算符
4—1)Delete 运算符:删除对以前对象属性及方法的引用,但不能删除未定义属性和方法;
4—2)Void 运算符:其对任何值都返回underfined ,用于避免输出不应该输出的值;
示例:
1、
2、
4—3)前增量/前减量运算符
++变量名;
--变量名;
4—4)后增量/后减量运算符
变量名++ ;
变量名-- ;
4—5)一元加法和一元减法
4—6)位运算符
位运算not (~)
位运算and (&)
位运算or (|)
位运算XOR(^)
4—7)左移运算(<<)
4—8)有符号右移运算(>>)
4—9)无符号右移运算(>>>)
5)Boolean 运算符
5—1)逻辑not
运算符是对象,返回false ;
运算符数字是0,返回true ;
运算数是0以外的任何数字,返回faulse;
运算数是null,返回true ;
运算符是NaN , 返回true ;
运算数是underfined ,返回错误;
5—2)逻辑and (&&)
5—3)逻辑or
6)乘性运算符
6—1)乘法运算符(*)
6—2)除法运算符(/)
6—3)取模运算符(%)
7)加性运算符
7—1)加法运算符(+)
7—2)减法运算符(-)
8)关系运算符
< > <= >=
9)等性运算符
9—1)等号和非等号(= 和!=)
9—2)全等号和非全等号(= = = 和 != =)
10)条件运算符
形式:
variable= boolean_expression ? true_value : false_value ;
11)赋值运算符
简单运算符:(=)
复合运算符:(* = 、/* 、 %= 、+= 、 -= 、<<= 、 >>= 、 >>>=)
12)逗号运算符 (,)
Undefined类型
当变量未初始化,该变量的默认值是underfined ,返回true;
Null 类型
Underfined类型是由Null类型派生,null ==undefined
Boolean类型
有两个值,即true和false
Number 类型:所有数学运算都返回十进制结果
String 类型
= = = 转换字符串:toString
转换数字:parseInt
5、对象
本地对象:
1)、Array类
toString () 字符转换;
slice () 返回特定项新数组;
array栈:后进先出结构;
push () :在数组结尾添加一个或多个项;
pop () :删除最后一个数组项(length - 1);
shift () :删除第一个数组项;
unshift () :把一个数组项放到第一个位置;
splice () :把数组项插入数组的中部;
2)、Date类
内置对象
1)、Global 对象 实际上是不存在的一个对象;
方法:eval() 类似解释程序,接收一个参数,即要执行的js字符串;也可以在eval中调用内部定义的函数及变量;
2)、Math对象【见下】
3)、宿主对象:所以非本地对象就是宿主对象
其他补充点:
4)、作用域:即变量的适用范围;
公用、受保护和私有作用域
静态作用域并不是静态的:静态作用域都可以从同一个位置访问。
5)this关键字
继承
apply () 方法和 inheritForm () ;
inheritForm () 方法接收一个参数,即要复制的方法所属的类;
6、控制结构和循环
1)条件语句
If…else… 基本格式:
If(表达式)
代码段;
else
代码段;
If…else… 嵌套格式:
If(布尔值) 代码1;
else() 代码2;
else if (布尔值) 代码3;
else 代码4;
跳出一个分支和循环:break
2)switch语句
基本格式:
switch (表达式) { case 参数值}
3)循环语句
for 循环:使用for循环数组
for…in… 使用数组中的变量遍历数组中的每个元素。
4)while循环
do… while…
break 终止循环;
continue 跳出当前循环;
5)with
用于设置代码在特定对象中的作用域;with语句是运行比较缓慢的代码,尽量避免时使用。
格式:
with (expression) statement;
7、函数
格式:
Function 函数名( 参数可选){ 表达式 }
如果函数没有明确的返回值,或调用了没有参数的return语句,那么函数真正的返回值是underfined。
Js函数没有重载
函数实际上是功能完整的对象,function类表示开发者自定义的任何函数,格式:
var fuction_name = new Function (参数。。。函数主体)
闭包:指词法表示包括不必计算的变量的函数,就是说,该函数能使用函数外定义的变量。
示例:
<script type="text/javascript">
var msg = "HelloWorld!";
function sayHW(){
alert(msg);
}
script>
<input type="button" value = "点击我"onclick="sayHW();">