zoukankan      html  css  js  c++  java
  • 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、给类型添加方法:

     

  • 相关阅读:
    Oracle/Mysql批量插入的sql,效率比较高
    wget 无法下载jdk的处理办法
    C# 模拟提交带附件(input type=file)的表单
    WCF跟踪分析 使用(SvcTraceViewer)
    mysql 添加用户并授权(记录)
    SQLSERVER 跨服务器查询
    Hive
    《JAVA与模式》之建造模式
    《JAVA与模式》之单例模式
    Hadoop的HA机制
  • 原文地址:https://www.cnblogs.com/mybkn/p/2717668.html
Copyright © 2011-2022 走看看