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() );
     
     
  • 相关阅读:
    ELK相关操作记录-运维笔记
    php执行普通shell命令
    rsync 限速同步文件
    mysql 压测工具启动报 error while loading shared libraries: libmysqlclient.so.20解决办法
    php连接SQL server 数据库测试php脚本
    mysql 5.6.24 主从配置(增加从库)
    Mysqldump参数大全(参数来源于mysql5.5.19源码)
    Linux下mysql-5.6重置root密码
    WSDL文档深入分析
    随笔
  • 原文地址:https://www.cnblogs.com/killbug/p/3436242.html
Copyright © 2011-2022 走看看