zoukankan      html  css  js  c++  java
  • JS基础知识(-)

    1 , call方法: 

    语法:call([thisObj[,arg1[, arg2[,   [,.argN]]]]]) 
    定义:调用一个对象的一个方法,以另一个对象替换当前对象。 
    说明: 
    call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。 
    如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj。
     function Class1()
    {
        this.showTxt = function(txt)
        {
            alert(txt);
        }
    }
    
    function Class2()
    {
        Class1.call(this);
    }
    
    var c2 = new Class2();
    
    c2.showTxt("cc"); 
    这样 Class2 就继承Class1了,Class1.call(this) 的 意思就是使用 Class1 对象代替this对象,那么 Class2 中不就有Class1 的所有属性和方法了吗,c2 对象就能够直接调用Class1 的方法以及属性了,执行结果就是:alert(“cc”);

    对的,就是这样,这就是 javaScript 如何来模拟面向对象中的继承的 
     
    在node.js中的常见的代码:
    events.EventEmitter.call(this);
     
    2,给Array加方法
     Array.protoType.indexOf = function(Object){  
              for(var i = 0;i<this.length;i++){  
                 if(this[i] == Object){  
                    return i;  
             }  
         }

    3,关于大括号

      { } 大括号,表示定义一个对象,大部分情况下要有成对的属性和值,或是函数。{ } 大括号,表示定义一个对象,大部分情况下要有成对的属性和值,或是函数。

      如:var LangShen = {"Name":"Langshen","AGE":"28"};

      上面声明了一个名为 LangShen 的对象,多个属性或函数用,(逗号)隔开,因为是对象的属性,

      所以访问时,应该用.(点)来层层访问:LangShen.Name、LangShen.AGE,当然我们也可以用数组的方式来访问,如:LangShen["Name"]、LangShen["AGE"],结果是一样的。

    该写法,在JSON数据结构中经常用,除此之外,我们平时写函数组的时候,也经常用到,如:

      

    var LangShen = {
           Name = function(){
                      return "LangShen";
                       },
          Age = function(){
                     return "28";
                     }
    }
    调用方式差不多,因为是函数组,所以要加上(),如:alert( LangShen.Name() );
     
     
  • 相关阅读:
    HTTP协议中GET、POST和HEAD的介绍
    Django model 字段类型清单
    MySQL的菜鸟级操作
    windows7下将Cygwin加入右键菜单,并从当前目录打开
    数组指针和指针数组的区别
    const引用与非const引用
    printf("33[1;33m ***** 33[0m ");
    C语言可变参数函数详解示例
    机顶盒demux的工作原理
    机顶盒的工作原理
  • 原文地址:https://www.cnblogs.com/killbug/p/3436242.html
Copyright © 2011-2022 走看看