版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
unctionget{alert(+","word);//123deleteobject.userna方式实现对象的继承JavaScriptfunctionParunctionget{alert(+","word);//123deleteobject.userna方式实现对象的继承JavaScriptfunctionPar中有3种强制类型转换:Boolean(value),Numb学习好资料欢迎下载定义在函数外的变量一定是全局变量;定义在函数内的1、全局变量与局部变量}放在浏览器进程所处的内存当中,当浏览器关闭时则该回话.get;object2.get;将get方法定义在.get;object2.get;将get方法定义在crea=function{alert(this.username)ord;object.get=get;returnobjec:每创建一个对象,内存中就创建一个get方法,比较浪费内存,学习好资料欢迎下载参数都是字符串类型的,其中最后一个参数就是要执行的函数体,而前面的参数则是函数真正需要接受的参数。中,每个函数都有一个隐含的对象就表示实际传递的参数的个数。rname;this.sayHello=function{a;c.sayHello;c.sayWorld;以上这篇Javrname;this.sayHello=function{a;c.sayHello;c.sayWorld;以上这篇Javhod=Parent;this.method(usernam)重载的概念学习好资料欢迎下载Function对象在Java学习好资料欢迎下载11、强制类型转换}上面的代码中,浏览器并没有打印出什么,并不能说明中有3种强制类型转换:Boolean中有3种强制类型转换:Boolean(value),N=name;alert()受的参数个数。它与函数的arguments不同。argumeag属性是否已经定义,若没有定义,则通过原型方式添加getI学习好资料欢迎下载性是不能枚举的。接下来我们再看看window对象中的属性是否可以枚举的window对象中的属性是可以枚举的}在Chrome浏览器中我们会看到浏览器调试控制台中打印出一大堆属性,说明window对象中的属性是可以枚举的。可以动态删除对象的属性riptfunctionPerson{}P受的参数个数。它与函数的arguments不同。riptfunctionPerson{}P受的参数个数。它与函数的arguments不同。argume)重载的概念学习好资料欢迎下载Function对象在Javaototype.password="123";Person.学习好资料欢迎下载被删除定义对象最常见的方式数组定义er(value),er(value),String(value)。1Objec一个对象。ii)工厂方式创建对象不带参数的工厂方法:Javaword"]="123";alert(object.pass以动态添加对象的属性,也可以动态删除对象的属性动态添加/删除学习好资料欢迎下载并不是我们期望的结果。),串的先后顺序进行排序。下列方式可以得到我们期望的结果(按数组大小进行排数组排序type.getInfo=function{alert(thername);学习好资料欢迎下载this.passwordtype.getInfo=function{alert(thername);学习好资料欢迎下载this.passwordtr);}varobject=newObject;objecct("lisi","456");object1.get;o学习好资料欢迎下载}}我们再用匿名函数的方式实现:匿名函数排序}assword:12345};alert(object.usan");.push("lisi");p1.gnts.length表示函数实际接受的参数个数。assword:12345};alert(object.usan");.push("lisi");p1.gnts.length表示函数实际接受的参数个数。JavaScObject工厂方法。改进的工厂方法:JavaScriptf学习好资料欢迎下载和方法基于已有对象扩充其属性和方法最简单的一种方式,使用起来并不方便,适合于临时需teObject("lisi","456");object1;};varp1=newPerson;varp2=newPe=function{alert(this.username)aScriptteObject("lisi","456");object1;};varp1=newPerson;varp2=newPe=function{alert(this.username)aScript中,没有char数据类型)Undefined数学习好资料欢迎下载name属性创建一个对象为该对象添加一个为该对象添加一个方法}sayName方法,name属性被修改为sayName方法,name属性被修改为kyle,浏览器将打sort(pare);alert(array);我们再用匿名ord;object.get=get;returnobjec两种类型的Cookiei)持久性cookie,会被存储到客户学习好资料欢迎下载}上面两种不带参数和带参数的工厂方法缺点:每创建一个对象,内存中就创建一个get方法,比较浪费内存,且影响性能。而我们的期望是,创建两个不同的对象,它们的属性是不一样的,但方法是共用的。所以接下来}est(str){alert(+","+s;};}//子类functionChild(usernameest(str){alert(+","+s;};}//子类functionChild(username果,创建的对象属性是互不干扰的,而对象的方法是共享的。1Jarobject={username:"zhangsan",p学习好资料欢迎下载}个对象所共享,而不是每一个对象都拥有一个函数对象。中我们会看到浏览器调试控制台中打印出一大堆属性,说明wind;学习好资料欢迎下载中我们会看到浏览器调试控制台中打印出一大堆属性,说明wind;学习好资料欢迎下载//此处有一个隐含的return语句,用ript中有五种原始数据类型Undefined、Null、Bsername=username;this.sayHello学习好资料欢迎下载的对象返回(也是跟工厂方式不一样的地方)}带参数的构造函数}对象里面的一个属性ow){console.log(v);}在Chrome浏览器ow){console.log(v);}在Chrome浏览器载}//子类functionChild(username,pent(hello){学习好资料欢迎下载this.hellonts在JavaScript中,每个函数都有一个隐含的对象a学习好资料欢迎下载}单纯地使用原型方式有两个问题:,你无法在构造函数中为属性赋初值,只能在对象生成之后再去改变属性值。});alert(array.length);//方法二(推荐d=function{alert(this.world);}ame=name;object.password=passw);alert(array.length);//方法二(推荐d=function{alert(this.world);}ame=name;object.password=passwobal);document.writeln(local);学习好资料欢迎下载如果使用原型方式创建对象,那么生成的所有对象会共享原型中的属性,这样一个对象改变了该属性也会反应到其他对象当中。所以单纯地使用原型方式是不行的,还需要结合其他方式。接下来我们会继续介绍。使用原型+构造函数方式来定义对象}回false,则说明Object回false,则说明Object对象中的属性是不能枚举的。Os.password=password;this.getInnum2){vartemp1=parseInt(num1);造函数中通过标志量让所有对象共享一个方法,而每个对象拥有自己学习好资料欢迎下载使用原型+构造函数方式来定义对象,对象之间的属性互不干扰,各个对象间共享同一个方法,这是一种比较好的v)动态原型方式}}载functionPerson{}Ptotbject2.get;上面两种不带参数和带参数的工厂方法缺点载functionPerson{}Ptotbject2.get;上面两种不带参数和带参数的工厂方法缺点nPerson{=newArray;thivartemp2=parseInt(num2);if(tem学习好资料欢迎下载}在动态原型方式中,在构造函数中通过标志量让所有对象共享一个方法,而每个对象拥有自己的属性。上面代码在句判断为假,跳过执行。这样就达到了我们所期望的结果,创建的对象属性是互不干扰的,而对象的方法是共享的。Script)方式创建对象对象里面的一个属性学习好资料欢迎下l与Script)方式创建对象对象里面的一个属性学习好资料欢迎下l与undefined的关系undefined实际上是从nuWorld;apply方法与call方法很类似,apply方is.password=password;this.sayW学习好资料欢迎下载}}从第2个参数开始,逐一赋给函数中的参数。bject.sayName=function(name){tt(+","+this.password);c.sayHello;c.sayWorld;以上这篇bject.sayName=function(name){tt(+","+this.password);c.sayHello;c.sayWorld;以上这篇Javript中有五种原始数据类型Undefined、Null、B学习好资料欢迎下载}}象继承过来的。Object对象JavaScriptvarob象继承过来的。Object对象JavaScriptvarobrototype.getInfo=function{alerbject对象中的属性是不能枚举的JavaScriptale学习好资料欢迎下载}}");p.sayHello;c.sayHello;c.sayateObject工厂方法创建对象object2object");p.sayHello;c.sayHello;c.sayateObject工厂方法创建对象=name;学习好资料欢迎下载object.pact=newObject;学习好资料欢迎下载object.n学习好资料欢迎下载}传递的第二个数。这两个方法并不能说谁好谁坏,要看具体使用场景。第四种方式:原型链方式(无法给构造函数传递参数)原型链继承rt(pertyIsEnumerableototype.password="123";Person.)vararray=[1,25,4];array.sort;rt(pertyIsEnumerableototype.password="123";Person.)vararray=[1,25,4];array.sort;son.flag=true;}学习好资料欢迎下载}varp1学习好资料欢迎下载}}单纯使用原型链方式的缺点:没有办法传递参数,只
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论