• JavaScript语言精粹 ——笔记


    1、对象属性检索

    var student = {
         name:"zhan"
    };

    要检索name,可以用student["name"]  或者 student.name。

    2、对象属性更新

    student.name = 'wang';

    student.nickname = 'yu';//对象之前没有nickname属性,则自动扩充到改对象中。

    3、对象的引用

    var x = student;

    x.nickname = 'Tom';

    var nick = student.nickname;

    因为x和student都是指向同一个对象的引用,所以nick为'Tom'。

     4、hasOwnProperty 检查对象是否拥有属性,它不会检查原型链。

    5、用for in 遍历一个对象中的所有属性名时,改枚举过程会列出所有属性,包括函数和原型中的属性。

      var name;

      for(name in student){

      };

    6、4种function调用模式:

      方法调用模式:当一个function被保存为对象的一个方法,就被称为方法。

    var myObject = {
          value:0;
          inscrement: function (inc) {
             this.value += typeof inc ==='number'? inc  : 1;
          }
    };
    
    myObject.increment();
    document.writeln(myObject.value);  //1
    
    
    myObject.increment(2);
    document.writeln(myObject.value);  //3

    函数调用模式:当function不是一个对象的属性时,则被当做一个函数来调用

    myObject.double = function () {
        var that = this;
        var helper = function () {
            that.value = add(that.value, that.value);
        };
        
        helper(); // 以函数的形式调用helper
    };
    
    //以方法的形式调用double
    myObject.double();
    documnet.writeln(myObject.getValue());  //6

     构造器调用模式

    //创建一个名为Quo的构造器函数。它构造一个带有status属性的对象。
    
    var Quo = function (string) {
          this.status = string;
    };
    //给Quo的所有实例提供一个名为get_status的公共方法。
    Quo.prototype.get_status = function (){
        return this.status;
    };
    //构造一个Quo实例
    var myQuo = new Quo("confused");
    document.writeln(myQuo.get_status());

    Apply调用模式:apply方法让我们构建一个参数数组并用其去调用函数。它允许我们选择this的值。apply方法接受2个参数。第一个是将被绑定给this的值,第二个就是一个参数数组。

    //构造一个包含2个数字的数组,并将它们相加
    
    var array = [3,4];
    var sum = add.apply(null,array);  //sum值为7
    
    //构造一个包含status成员的对象。
    
    var statusObject = {
        status:'A-OK'
    };
    
    //statusObject 并没有继承自Quo.prototype,但我们可以再statusObject上调用get_status方法,尽管statusObject并没有一个名为get_status的方法
    var status = Quo.prototype.get_status.apply(statusObject);
    //status的值为A-OK

     7、给类型添加方法:

     

  • 相关阅读:
    最近用到mysql和mybatis结合常用的知识点坐下整理
    采用rest接口对接而非webservice
    Linux 下Nginx 的安装及负载均衡的简单配置
    用websocket实现后台推送消息
    maven项目添加websocket
    Java通过几种经典的算法来实现数组排序
    关于 Java 数组的 12 个最佳方法
    Ajax详解及其案例分析之如何获得Ajax对象,使用Ajax对象发送GET和POST请求,校验用户名,POST和GET请求时的乱码处理,实现级联的下拉列表
    Python
    【作业报告】作业5 四则运算 测试与封装 5.1
  • 原文地址:https://www.cnblogs.com/mybkn/p/2717668.html
Copyright © 2020-2023  润新知