• javascript权威指南 第8章 笔记 Kevin


    1.“||”运算符 如果||运算符的第一个参数为true,或者是一个可以转换为trued的值,该运算符就会返回其第一个参数。否则会返回第二个参数。例:  a = a||[];如果a已经定义了并且为非null,它则返回a,否则a便是空的。

    2.尽管定义javascript函数时有固定数目的命名参数,但当调用这个函数时,传递给它的参数数目却可以是任意的。arguments对象允许完全地存取那些实际的参数值。arguments对象是一个类似数组的对象。

    关于arguments的一个例子:

    function b(a){

      alert(a);

      arguments[0]=[12,3];

          alert(a);

    }

    b();//undefined,undefined

    b(1);//"1","12,3";

    -------------------------

    从这个例子中可以看出来1.arguments对象是在有参数传进来的时候才会初始划分配内存的。2.arguments对象有一个非同寻常的特性,当函数具有命名了的参数时,arguments对象的数组元素是存放函数参数的局部变量的同义词。

    3.callee属性

      arguments对象定义了callee属性,用来引用当前正在执行的函数。这个属性没有多大的用处,但它可以用来允许对未命名的函数递归地进行调用 例

        function(x){

          if(x<=1)    return 1;

          return  x*arguments.callee(x-1);

        }

    4.apply()方法和call()方法:apply()方法有两个参数,用作this的对象和要传递个给函数的参数的数组。例如:

    function sayColor(sPrefix,sSuffix) {
        alert(sPrefix + this.color + sSuffix);
    };
    
    var obj = new Object();
    obj.color = "blue";
    
    sayColor.call(obj, new Array("The color is ", "a very nice color indeed."));//最后生成的消息仍是 "The color is blue, a very nice color indeed."

    call()方法是与经典的对象冒充方法最相似的方法。它的第一个参数用作this的对象,其他参数直接传递给函数自身。
    例:
    function sayColor(sPrefix,sSuffix) {
        alert(sPrefix + this.color + sSuffix);
    };
    
    var obj = new Object();
    obj.color = "blue";
    
    sayColor.call(obj, "The color is ", "a very nice color indeed.");//最后生成的消息 "The color is blue, a very nice color indeed."

  • 相关阅读:
    模拟hadoop-rpc通信
    IOUtils方式上传下载文件
    HDFS基本操作的API
    HDFS基本命令行操作及上传文件的简单API
    gcj_2016_Round1_B
    hiho_1070_RMQ
    hiho_1068_RMQ_st算法
    hiho_1067_最近公共祖先2
    hiho_1062_最近公共祖先
    hiho_1066_并查集
  • 原文地址:https://www.cnblogs.com/kfx2007/p/2451761.html
Copyright © 2020-2023  润新知