javascript高级-进阶1

上传人:xiao****1972 文档编号:84150188 上传时间:2019-03-02 格式:DOC 页数:6 大小:35.48KB
返回 下载 相关 举报
javascript高级-进阶1_第1页
第1页 / 共6页
javascript高级-进阶1_第2页
第2页 / 共6页
javascript高级-进阶1_第3页
第3页 / 共6页
javascript高级-进阶1_第4页
第4页 / 共6页
javascript高级-进阶1_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《javascript高级-进阶1》由会员分享,可在线阅读,更多相关《javascript高级-进阶1(6页珍藏版)》请在金锄头文库上搜索。

1、JavaScript 高级介绍本阶段课程是对JavaScript进行强化学习,蕴含了开发中JavaScript高级使用及各种JavaScript框架底层的实现,学完此部分课程后,可以解决以后工作常见的问题,主要涉及内容:1. 函数基本概念。2. 函数中特殊对象。3. JavaScript面向对象。4. 对象的专用语句。5. this关键字。 6. Prototype。7. 类继承. 8. 匿名函数、回调函数9. 闭包10. jQuery高级 事件、插件开发11. .jQuery综合应用函数1.什么是函数?函数可以包装一段代码,并且可以通过函数名多少调用这段代码。函数是由这样的方式进行声明的:关

2、键字 function、函数名、一组参数,以及置于括号中的待执行代码。2.函数返回值如果一函数有返回值,无需特殊声明,只需要使用 return 运算符后跟要返回的值即可。3.函数中特殊对象在函数运行过程中,JavaScript会自动产生一些特殊对象,我们可以使用这些对象干一些有意思的事情。1. arguments参数对象:包含了本次调用函数时传入的所有参数。该对象为一个伪数组。(实现变参,方法的重载。)2. callee当前函数对象:返回正被执行的function对象。(递归调用)语法:arguments.callee.伪数组:和普通对象一样,只是对象具有通过索引(index)访问成员的功能和

3、访问个数(arguments.length)功能。JavaScript面向对象对象:定义为“属性的无序集合,每个属性存放一个原始值、对象或函数”。严格来说,这意味着对象是无特定顺序的值的数组。var obj = new Object();obj.name=”张三”,obj.password=”123456”,obj.showName=function() alert(this.name);类:每个对象都由类定义,可以把类看做对象的模板。类不仅要定义对象的接口(interface)(开发者访问的属性和方法),还要定义对象的内部工作(使属性和方法发挥作用的代码)。实例:程序使用类创建对象时,生成的

4、对象叫作类的实例(instance)。1. 一切皆对象 JavaScript中一切皆对象,在JavaScript中我们可以把基本数据类型当成对象来使用。比如var num = 3.14159;我们可以调用Number对象上面的toFixed(2)方法来进行小数位的截取。这点于Java中既然不同,Java中的基本数据类型是不能调用方法,只能通过包装类型。2. 函数对象引用JavaScript中最经典的一句话,一切皆对象,函数其实也是一个对象,这点让很多学习JavaScript的人感到无比的困惑,但是JavaScript的确如此。函数定义方式:这种定义方式非常的常见。 function my()

5、函数对象形式:创建函数对象方式,很诡异,但是的确可行。 /new Function()这句非常关键,通过new一个类型得到为一个对象。 var my = new Function(“a”,”b”,”return a+b”); /为函数对象,添加属性 my.name = “itcast”; console.debug(my.name);/out itcast. /调用该函数 my(5,2);3. 定义类JavaScript中没有为我们提供像Java中定义类关键字class。但是提供一种采用函数方式定义类。JavaScript中function三位一体。函数:函数其实有点类似于我们的Java中的方

6、法,区别在于它可以独立存在,不需要属于某个具体对象。 function add() add();方法:于Java中的方法一样,方法总是属于某个具体对象。 var user = new Object(); user.say = function() alert(“今天天气不错”); user.say();类:JavaScript中一个函数就是一个类,并且该类的构造函数就是函数本身。 /类及构造函数。 function Person() var p = new Person();/对象。 /为对象添加属性及方法 p.name = “哈哈”; p.password=”123456”; p.say=f

7、unction() alert(this.name); p.say(); 构造函数: function Person(name,password) this.name = name; this.password=password; this.say=function() alert(this.name); 通过以上方式创建类,通过构造参数方式,进行对象的属性的添加。其中say为一个方法,每次new出一个新的实例对象的时候都会导致创建一个新的函数,每个对象的方式都是一样,所有的对象可以共用一个函数。 function say() alert(this.name); function Person

8、(name,password) this.name = name; this.password=password; this.say=say;/say为函数指针 4. Prototype每一个类(构造函数)都具有一个prototype属性,当创建这个类的实例对象原型对象的所有属性都被立即赋予要创建的对象中。创建一个对象,通过firefox开发工具可见,对象由两部分组成,一个部分为对象本身,自定义对象属性属性部分,另一部分且为对象的对应类型(User)上面的prototype对象部分(User.prototype)。访问对象上面的属性,直接通过object.name访问。神奇的user._pro

9、to_属性,该属性其实就是对应User类的prototype属性。console.debug(user._proto_=User.prototyp);/out true;那么到底_proto_是来干嘛的耐?一个对象中的_proto_(prototype)属性中的成员,可以直接通过object.成员进行访问。总结:每个类都有独立的prototype属性,向prototype对象上面添加属性,对象实例可以共享prototype对象上面的属性,如果对象本身已存在某个属性,使用对象本身上面的属性,如果没有则使用prototype上面的属性,如果是添加属性是添加到对象上面,不影响对象的原型对象。5. t

10、his函数运行时,我们可以通过this关键字访问到当前调用函数的对象,”谁调用该函数,this就代表谁”function say() alert(this.name);var u = new Object();u.name = “007”;u.say=say;u.say(); /调用时,才能确定函数中的this代表谁,这里this=u;对于那些独立的函数,调用时this为window.say();/this为window对象。函数也是对象,函数对象中存在两个特别有趣的方法,可以修改this。call(thisObject,args1,args2.)apply(thisObject,args1,

11、args2)call,apply方法都是调用函数,于函数名()直接调用不同,这个两个方法可以修改函数运行时中的this.call,apply区别:第一个参数总是指函数运行时的this,call从第二参数开始都为调用函数的参数,而apply,第二个参数为一个数组,该数组就是调用函数的所有参数。6. 继承一个类的prototype属性赋值到另外一个类的prototype属性中继承就是一个引用链的问题 extendClass继承函数7. 回调函数/匿名函数回调函数: 回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。匿名函数: 无需定义函数名的函数.jQuery加强1.事件快速注册事件通过bind注册事件,unbind移除事件.delegate事件代理.自定义事件.自定义事件传递参数.2. 原理$万能的函数jQuery实现原理.jQuery插件开发.综合应用

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号