zoukankan      html  css  js  c++  java
  • 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."

  • 相关阅读:
    数组,一维,二维,多维
    类函数:string、math
    while和for的内嵌
    循环语言(for)
    选择语言之switch case
    程序语言
    语言、数据和运算符
    原理之一,进制转换
    HTML第一部分
    结构体共用变量 递归
  • 原文地址:https://www.cnblogs.com/kfx2007/p/2451761.html
Copyright © 2011-2022 走看看