javascript

来源:互联网 发布:js 如何拖拽 编辑:程序博客网 时间:2024/06/03 22:40

1、javascrript三大核心

     ecmaJavaScript、bom、dom

2、匿名函数立即调用

     (function(){

     alter("匿名函数立即执行")

     } )()

3、JavaScript不支持java中的重载,后定义的同名方法会覆盖前面定义的方法

4、手动模拟JavaScript

     <script type = "text/javascript">

     function add(){

     var sum = 0;

     for(var i= 0;i < arguments.length;i++){

     sum += arguments[i];

     }

     return sum;

     }

     alter(add(2,3));

     alter(add(5,6,10));

     </script>

5、函数的递归使用

     在函数内部自己调用自己,有终止条件,否则会出现死循环。

      <script type = "text/javascript">

      funtion jieCheng(num){

      if(num == 1){

     return 1;

     }

     return jieCheng(num-1)*

     }

      </script>

6、javascript数组特点

     a、数组长度可以动态改变

     b、同一个数组可以存储不同数据类型

     c、数据的有序集合

     d、每个数组都有一个length属性,表示的是数组中的元素的个数

7、数组的创建有两种方式:字面常量方式和构造函数

     var colors = ["black","red","blue"];

     var colors = new Arrray("black","red","blue");

     //for...in遍历数组,是一种精准的迭代语句,可以用来枚举对象的属性和数组的元素

     for(var index in arr){console.log(arr(i));}

    //foreach循环遍历数组

    arr.forEach(function(element,index)){alter(element);}

    //数组常用方法

    toStirng(); //只能使用,连接

    join();//可以使用指定字符进行连接

    //栈操作

    push;pop;

    //队列操作

     unshift添加元素到,shift移除队列头元素

8、Cookie,也用Cookies某些网站为了辨别用户身份、进行session跟踪而存储在用户本地终端上的数据(通常经过加密)

     Cookie是由浏览器将document对象的Cookie属性提供给javascript的,可以由javascript对其进行控制,但这并不是javascript本身的属性。

    Cookie是存在于用户硬盘的一个文件,这个文件通常对应于一个域名,当浏览器再次访问这个域名时,这个Cookie就发挥作用了。不同浏览器的cookie不共享,同一浏览器的不同网页共享。

9、Cookie的作用

a 保存用户登录状态。cookie可以设置过期时间,当超过时间期限后,自动消失。

b 跟踪用户行为。

c 定制页面。

d 创建购物车。

cookie的缺陷

a cookie可能被禁用。

b 可能是浏览器相关的。不同浏览器之间保存的cookie是不能互相访问的

c 可能被删除。cookie是保存在用户硬盘上的一个文件,可能被删除。

d 安全性不够高。所有的cookie都是以纯文本的形式记录与文件中的,因此如果要保存用户名密码等信息时,最好先经过加密处理。

cookie的构成

a 名称:一个唯一确定cookie的名称。不区分大小写,cookie的名称必须是经过URL编码的。

b 值:储存在cookie中的字符串值,必须经过URL编码。

c 域:cookie对于域是有效的,那么对于其所有子域都是有效的。

d 路径:对于指定域的那个路径应向服务器发cookie

e 失效时间:表示cookie何时应该被删除的时间戳

f 安全标志:指定后,cookie只有在使用ssl连接时才发送到服务器

cookie的存储

a 服务器端通过http响应头Set—Cookie来通知浏览器存储cookie。客户端通过javascript去存储cookie。javascript操作cookie需要通过document的cookie属性来完成。

读取cookie仍然是通过document的cookie属性,不过字符串需要我们自己解析

删除cookie

删除cookie的原理非常简单,只要把超时时间设置为0,就会立即删除了

10、DOM操作

DOM是针对HTML和XML文档的一个API(应用程序编程接口)。DOM描绘了一个层次化的节点树,允许开发人员添加、移除和修改页面的某一部分。

W3C DOM标准分为3部分;

core DOM-针对任何结构化稳当的标准模型

XML DOM-针对XML文档的标准模板

HTML DOM-针对HTML稳当的标准模型


document节点是每个文档节点的根节点

document杰斯按下面只有html节点,我们称为文档元素。

-文档元素是文档的最外层元素,其他元素都包含在文档元素中

-一个文档只能有一个文档元素,在html中文档元素永远是元素。

DOM树中,html文档中每一处标记都可以用树中的一个节点表示

11、DOM共有12种节点类型

12、document对象,可以当成全局变量来使用

13、js事件

       就是用户或者浏览器执行的某种操作

14、事件流:描述的是从页面中接收事件的顺序

包括两种:冒泡流和捕获流

IE的事件流叫做事件冒泡,即事件开始时由最具体的元素接收,然后逐级向上传播到较为不具体的节点(文档)

冒泡流指事件像冒泡排序一样是从底层逐渐像上层传播的

捕获流是由NetScape Communicator团队提出的灵位一种事件流。事件捕获的思想是不太具体的节点应该更早接收到事件,而最具体的节点应该是最后接收事件。

15、DOM2级事件规定事件流包括三个阶段:事件捕获阶段、处于目标阶段、事件冒泡阶段

16、HTML中指定事件处理程序有两个缺点:

a 存在时差问题,比如函数定义在文档尾部,在为解析函数之前就点击了按钮,则会出现错误

b HTML代码和javascript代码紧密耦合,如果要更换事件的处理程序,要同时改动html代码和js代码

17、DOM0级别事件处理程序

将一个函数赋值给事件处理程序。这时事件处理程序可以看成是元素对象的方法,事件处理程序就是在元素的作用域中运行(this就是指代这个对象)

18、load和ready事件的区别:

ready表示文档结构已经加载完成(不包含图片等非文字媒体文件)

load表示页面包含图片等文件在内的所有元素都加载完成

19、鼠标事件

由于移动设备没有鼠标,所以与电脑端有一些不同之处。移动设备尽量使用移动端事件,而不要使用鼠标事件

不支持dbclick双击事件。在移动设备中双击浏览器窗口会放大画面

单机元素会触发mousemove事件

两个手指放在屏幕上且页面随手指移动而滚动时会触发mousewheel和scroll事件