欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    JavaScript基础知识点归纳().docx

    • 资源ID:96926740       资源大小:21.73KB        全文页数:23页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    JavaScript基础知识点归纳().docx

    JavaScr ipt基础学问点归纳(举荐)定义在函数外的变量确定是全局变量;定义在函数内的 变量,假如声明白var,那该变量就是局部变量,假如不声 明van那么该变量就是全局变量。1、全局变量与局部变量JavaScriptvar global = "Global”;test ;function test var local = "Local”;document, writein(global);document, writein (local);document, writein(global);document, writein(local);2两种类型的Cookiei)许久性cookie,会被存储到客户端的硬盘上。ii)回话cookie:不会被存储到客户端的硬盘上,而是 放在阅读器进程所处的内存当中,当阅读器关闭时则该回话 cookie就销毁了。3、在JavaScript中,函数(function)就是对象object, password = password;object.get = function alert(this. name+,+this. password););return object;var objectl = createObject(zhangsan,123);var object2 = createObject(lisi,456);objectl.get ;object2.get ;上面两种不带参数和带参数的工厂方法缺点:每创建一个对象,内存中就创建一个get方法,比较奢 侈内存,且影响性能。而我们的期望是,创建两个不同的对 象,它们的属性是不一样的,但方法是共用的。所以接下来 我们须要改进createObject工厂方法。改进的工厂方法:JavaScriptfunction get alert (this. name+,+this. password);)function createObject (name, password) var object = new Object ;object, name = name;object, password = password;object, get = get;return object;)var objectl = createObject(zhangsan,123);var object2 = createObject(lisi,456);objectl.get ;object2.get ;将get方法定义在createObject函数外面,这样每 创建一个对象,get方法都是共用的。让一个函数对象被多 个对象所共享,而不是每一个对象都拥有一个函数对象。iii)构造函数方式创建对象不带参数的构造函数:JavaScriptfunction Person 在执行行代码前,js引擎会为我们生成一个对象this, name = zhangsan;this, password = 123;this.getlnfo = function alert (this. name+, +this password);此处有一个隐含的return语句,用于将之前生成 的对象返回(也是跟工厂方式不一样的地方)var pl = new Person ;pl.getlnfo ;带参数的构造函数JavaScriptfunction Person (name, password) this, name = name;this, password = password;this.getlnfo = function alert(this. name+, +this password););var pl = new Person (zhangsan,123);var p2 = new Person("lisi,456);pl. getlnfo ;p2.getlnfo ;iv)原型(prototype)方式创建对象prototype是Object对象里面的一个属性prototypefunction Person Person, prototype, name = zhangsan;Person, prototype, password = 123;Person, prototype.getlnfo = function alert (this. name+, +this. password);var pl = new Person ;var p2 = new Person ;P1. name二kyle ; 对象生成之后再去变更属性pl. getlnfo ;p2.getlnfo ;单纯地运用原型方式有两个问题:,你无法在构造函数 中为属性赋初值,只能在对象生成之后再去变更属性值。prototypeJavaScriptfunction Person )Person, prototype, name = new Array ;Person, prototype, password = 123;Person.prototype.getlnfo = function alert (this. name+, +this. password););var pl = new Person ;var p2 = new Person ;pl. name, push(zhangsan);pl. name. push(lisi);pl.password = 456;pl.getlnfo ;p2.getlnfo阅读器将会打印:zhangsan, lisi, 456 和 zhangsan, lisi, 123.假如运用原型方式创建对象,那么生成的全部对象会共 享原型中的属性,这样一个对象变更了该属性也会反应到其 他对象当中。所以单纯地运用原型方式是不行的,还须要结 合其他方式。接下来我们会接着介绍。运用原型+构造函数方式来定义对象JavaScriptfunction Person this, name = new Array ;this, password = 123;)Person, prototype, getlnfo = function alert (this. name+, +this. password);var pl = new Person var p2 = new Person pl. name, push(zhangsan);p2. name. push(lisi);pl. getlnfo p2.getlnfo ;运用原型+构造函数方式来定义对象,对象之间的属性 互不干扰,各个对象间共享同一个方法,这是一种比较好的方式。V)动态原型方式JavaScriptfunction Person this, name = zhangsan;this, password = 123;if(typeof Person, flag = "undefined") alert("invoked");Person.prototype.getlnfo = function alert(this, name + , + this, password);Person, flag = true;var pl = new Person ;var p2 = new Person ;pl.getlnfo ;p2.getlnfo ;在动态原型方式中,在构造函数中通过标记量让全部对 象共享一个方法,而每个对象拥有自己的属性。上面代码在 次创建对象时,首先通过一个推断语句,看flag属性是否 已经定义,若没有定义,则通过原型方式添加getlnfo方法, 然后将flag设置为true,那么当其次次创建对象时,if语 句推断为假,跳过执行。这样就达到了我们所期望的结果, 创建的对象属性是互不干扰的,而对象的方法是共享的。17、JavaScript中对象的继承(5种方式)种方式:对象冒充冒充对象继承JavaScript父类function Parent(username) this, username = username;this. sayHello = function alert(this, username);/子类 function Child (username, password)/下面三行代码是最关键的 this, method = Parent;this, method(username);delete this, method;this, password = password;this. sayWorld = function alert(this, password);var p = new Parent(zhangsan);var c=new Child(lisi,123);p. sayHello c. sayHello ;c. sayWorld 其次种方式:call继承的其次种实现方式,call方法方式,call方法是 Function对象中定义的方法,因此我们定义的每个函数都拥 有该方法。call方法的个参数会被传递给函数中的this, 从第2个参数起先,逐一赋给函数中的参数。call继承父类JavaScriptfunction test (str) alert(this. name+,+str);)var object = new Object ;object, name = zhangsan;/test, call相当于调用了 test函数test, call (object, html5war); 将 object 赋给了 this接下来我们用call方式实现对象的继承JavaScript父类function Parent(username)this, username = username;this. sayHello = function (alert(this, username););/子类function Child (username, password) Parent, call(this, username);this, password = password;this. sayWorld = function alert (this, password););)var p = new Parent(zhangsan);var c = new Child(lisi,123);p. sayHello ;q. sayHello ;r. sayWorld ;第三种方式:applyapply继承父类JavaScript父类function Parent(username) this, username = username;this. sayHello = function alert(this, username););子类function Child (username, password)5、Function 对象在JavaScript中有一个Function对象,全部自定义的 函数都是Function对象类型的。Function对象接受的全部 参数都是字符串类型的,其中最终一个参数就是要执行的函 数体,而前面的参数则是函数真正须要接受的参数。6、隐含的对象arguments在JavaScript中,每个函数都有一个隐含的对象 arguments,表示给函数实际传递的参数。arguments, length 就表示实际传递的参数的个数。7、函数名.length每一个函数对象都有一个length属性,表示该函数期 望接受的参数个数。它与函数的arguments不同。 arguments, length表示函数实际接受的参数个数。8、JavaScript中有五种原始数据类型Undefined、Null、Boolean、Number 以及 String。(留 意:在JavaScript中,没有char数据类型)Undefined数据类型的值只有一个:undefined;Null数据类型的值只有一个:null;Boolean数据类型的值有两个:true和false;9、typeof运算符typeof是一元运算符,后跟变量的名称,用于获得变量 的数据类型,其返回值有5个:undefined、boolean、number、Parent, apply (this, new Array(username);this, password = password;this. sayWorld = function alert(this, password););var p = new Parent (zhangsan);var c = new Child(lisi,123);p. sayHello ;c. sayHello ;c. sayWorld ;apply方法与call方法很类似,apply方法也是定义在 Function对象中的方法,因此我们定义的每个函数都拥有该 方法。apply方法与call方法有一个区分: Parent, apply (this, new Array (username);传递的其次个 参数为一个数组,而call方法传递的是一些离散的数据参 数。这两个方法并不能说谁好谁坏,要看具体运用场景。第四种方式:原型链方式(无法给构造函数传递参数)原型链继承JavaScriptfunction Parent Parent, prototype, hello = "hello”;Parent, prototype. sayHello = function alert(this, hello););function Child Child.prototype = new Parent ;Child, prototype, world = "world”;Child, prototype. sayWorld = function alert(this, world););var c = new Child ;c. sayHello ;c. sayWorld ;单纯运用原型链方式的缺点:没有方法传递参数,只有 等对象创建完之后再去修改。我们接下来结合其它的方式解 决这个问题。第五种方式:混合方式(举荐)运用混合方式实现对象的继承JavaScriptfunction Parent (hello) this, hello = hello;Parent, prototype. sayHello = function alert (this, hello);)function Child(hello, world) Parent, call(this, hello);this, world = world;Child.prototype = new Parent ;Child, prototype. sayWorld = function alert(this, world);)var c = new Child(hello,“world");c. sayHello ;c. sayWorld ;以上这篇JavaScript基础学问点归纳(举荐)就是共享给大家的全部内容了,希望能给大家一个参考 string 以及 objecto10、在JavaScript中,假如函数没有声明返回值,那 么会返回 undefinedll> null 与 undefined 的关系undefined事实上是从null派生出来的。例如:null 与 undefined 的关系JavaScriptalert (undefined = null);阅读器返回true11、强制类型转换在JavaScript中有3种强制类型转换:Boolean(value) , Number (value) , String (value) 012、Object 对象在JavaScript中,全部对象都是从Object对象继承过 来的。Object对象JavaScriptvar object = new Object ;for(var v in object) alert (v);)上面的代码中,阅读器并没有打印出什么,并不能说明 Object对象不带有任何属性。下面代码测试Object对象中 的属性是否可以枚举,假如返回false,则说明Object对象 中的属性是不能枚举的。Object对象中的属性是不能枚举的JavaScriptalert (object. propertylsEnumerable (/zprototypez/); 阅读器弹出false对话框,则说明Object对象中的属性是不能枚举的。接下来我们再看看window对象中的属性是否可以枚举 的window对象中的属性是可以枚举的JavaScriptfor (var v in window) console, log(v);在Chrome阅读器中我们会看到阅读器调试限制台中打 印出一大堆属性,说明window对象中的属性是可以枚举的。13、在JavaScript中,可以动态添加对象的属性,也可以动态删除对象的属性动态添加/删除对象的属性JavaScriptvar object = new Object ;alert(object, username);/undefined object, username = zhangsan;alert (object, username);/zhangsanobject"password = 123;alert(object, password);/123delete object, username;/止匕时,username 属性已经 被删除alert(object, username);14、JavaScript中定义对象最常见的方式定义对象最常见的方式JavaScriptvar object = username: zhangsan , password:12345);alert (object, username);alert (object, password);15、数组数组定义JavaScript/方法一var array = new Array ;array, push (1); array, push (2);array, push (3);alert (array, length);方法二(举荐)var array = 1,25,41;array, sort ;alert(array);调用数组的sort ()方法,阅读器打印1, 25, 4,这 并不是我们期望的结果。对于JavaScript数组的sort方法来说,它会先将待排 序的内容转换为字符串(调用toString方法),依据字符 串的先后依次进行排序。下列方式可以得到我们期望的结果(按数组大小进行排 序):数组排序JavaScriptfunction pare(numl, num2) var tempi = parselnt(numl);var temp2 = parselnt(num2);if (tempireturn -1; else if (tempi = temp2) return 0; else return 1;)var array = 1, 25, 3;array, sort(pare);alert(array);我们再用匿名函数的方式实现:匿名函数排序JavaScriptvar array = 1, 25, 3;array, sort(function(numl, num2) var tempi = parselnt(numl);var temp2 = parselnt(num2);if (tempireturn -1; else if(tempi = temp2) return 0; else return 1;);alert(array);16、JavaScript中定义对象的5种方式(JavaScript 中没有类的概念,只有对象)i)基于已有对象扩充其属性 和方法基于已有对象扩充其属性和方法JavaScriptvar object = new Object ;添加name属性object, name = zhangsan;添加sayName方法object. sayName = function(name) this, name = name;alert (this, name);;object. sayName (kyle); 调用 sayName 方法,name 属性被修改为kyle,阅读器将打印kyle最简洁的一种方式,运用起来并不便利,适合于临时须 要一个对象。ii)工厂方式创建对象不带参数的工厂方法:JavaScript工厂方法function createObject var object = new Object ; 创建一个对象object, name = "zhangsan”;为该对象添加一个 name属性object, password = "123;为该对象添加一个 password 属性object, get = function 为该对象添加一个 get 方法alert(this. name+,+this. password););return object;返回该对象)var objectl = createObject ;调用 createObject 工厂方法创建对象objectlvar object2 = createObject ;调用 createObject 工厂方法创建对象object2objectl. get ;调用对象get方法object2. get ; 调用对象get方法带参数的工厂方法:JavaScriptfunction createObject (name, password) var object = new Object ;object, name = name;

    注意事项

    本文(JavaScript基础知识点归纳().docx)为本站会员(太**)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开