JavaScript(弱类型语言)
1.JavaScript是一种在 浏览器客户端 执行的解释性语言,无序变异就可以随时运行 这样哪怕语法有错误,没有语法错误的部分还是能正确运行的 2.JS语法: 1.Javascript代码放到<script>标签中,执行顺序:从上往下执行. <script type="text/javascript"> </script>
2.引入JS文件:<script type="text/javascript" src="JS文件名.js"></script>
3.<a href="javascript:var i=5;i++;alert(i);">点击</a> 点击后会请求javascript引擎来处理 4. a 的href本来是做页面间导航的,但是浏览器对于href的开头协议做了处理, 如果开头的协议" : 之前的"能够被本机的程序处理,则会调用相应的程序 <a href="thunder://aaaaaa">迅雷下载</a> 点击后调用迅雷进行下载
5.变量的声明不需要指定变量类型 : var i=5; i="波波"; 6.函数声明: function 函数名(a1,a2){ return a1+a2;} 函数可以不返回值,系统自定义返回undefined 7.易错: 自定义函数名不要和js,dom内置方法重名. 容易出错. 8.匿名函数: var fun=function(a1,a2) ---指向fun 所指向的函数 { return a1+a2; } 9.命名函数: JS代码执行之前,JS引擎先将代码浏览一遍,将变量,命名函数记下,遇到重名的命名函数 后面的同名函数将之前的覆盖掉,在执行时,需要调用该函数的时候, 调用的就是最后浏览过的.
10.全局变量: num=10;不指定var定义的变量为 全局变量,在页面任意位置都可以访问 直接在script标签中(而不是函数中),声明的变量可以在页面的任意位置访问
---------------------------------JavaScript面向对象 语法:---------------------------- 1.构造函数: function Person(var name,var age) { this.Name=name; this.Age=age; this.SayHello=function() { alert("姓名:"+this.name+",年龄:"+this.age) } } 创建对象 var p=new Person("小波",23); p.SayHello();
2.JavaScript中的Array对象是一个动态数组, 是一个像C#中数组,ArrayList,HashTable等超强的综合体. 1.无需预先预置数组空间的大小,动态分配空间 2.创建语法: var array=new Array(); array[0]="小波"; array[1]="小猪"; for(var i=0; i< array.length;i++){ alert(array[i]); } 3.var arr=[1,2,3,4,5]; var arr=["aa","bb","cc"]; var arr=new Array(1,2,"aa","bb",10); 访问数组中特定元素可通过该元素的索引位置index来实现 var m= arr[2]; 4.字典的用法: var arr=new Array(); arr["pig"]=20; arr["dog"]=21; arr.pig 与 arr["pig"]都可以获取Key对应的值 字典风格的简化创建: var arr={"bobo":22 ,"fanfan":22}
5.字典复合应用: var arr=[ { bobo:22,fanfan:22 } , [ 3, 6, 9 ] ]; alert([2]);-->打印结果为2,其实就是将一个含有一个元素的数组打印出来, 与alert([1,2,3])一个性质.
3.JS中foreach遍历语法(字典格式的Array的Length为0,只能用for in 遍历) JS中用for(var item in array) 来实现foreach,每个item都是key for(var iten in array){ } 4.数组用法的for(var item in array)遍历得到的key就是下标 数组用法更像是字典的一种特例.
5.抽象两个数数据类型: 堆栈(LIFO): 用于以"后进先出"的顺序存储数据的结构,在读取堆栈的时候,最后 存入的数据最先被读取出来 队列(FIFO):用于以"先进先出"的顺序存储数据结构.在读取队列的时候,最先存 入的数据最先被读取出来 1.pop()方法:将数组最后一个元素删除,并将该元素作为操作的结果返回,同时更新数组的length属性 2.push()方法:将以参数传入的元素按参数顺序添加到数组尾部,并将插入的元素作为操作的结果返回,更新length长度
-------------------------------javaScript浏览器事件----------------------- 1.浏览器时间指载入文档直到该文档被关闭期间的浏览器事件. 比如: (触发的是 window对象下的事件) 浏览器载入文档时间onload 关闭该文档事件onunload 浏览器失去焦点事件onblur 获得焦点事件onfocus 拖动滚动条事件onscroll 改变文档页面大小事件onresize