悟透javascript学习笔记

声明对像

var objectObj={};

声明函数

function functionObj(){};

写入属性、以及方法等等

 一、写入方法属性,以及二种方法调用

View Code
objectObj.meth=function(){ alert('This is mhet')};

objectObj.propter='Info';

调用可以通过多种方式:

1、普通

objectObj.propter;

objectObj.meth();

2、数组调用

objectObj['propter'];

objectObj['meth']();

二、不声明方法属性先调用

View Code
 functionObj()

{

  with(arguments.callee) //验证参数

  {

    alert('This is '+name )

  }

};

functionObj.name='恶人鱼';

functionObj();

第三 javascript 中的 this 关键字

  简单的描述一下,this与C++、C#、java中的 自我不一样,只能是自己,而javascript中可以是你,也可能是他;我中有你,你中有我;这样就不能用自我来理解javascript中的this含义了,首先我们放下自我的感念。

View Code
function WhoAmI()       //定义一个函数WhoAmI
        {
            alert("I'm " + this.name + " of " + typeof (this));
        };

        var BillGates = { name: "Bill Gates" };
        BillGates.WhoAmI = WhoAmI;  //将函数WhoAmI作为BillGates的方法。
        BillGates.WhoAmI();         //此时的this是BillGates。输出:I'm Bill Gates of object

        var SteveJobs = { name: "Steve Jobs" };
        SteveJobs.WhoAmI = WhoAmI;  //将函数WhoAmI作为SteveJobs的方法。
        SteveJobs.WhoAmI();         //此时的this是SteveJobs。输出:I'm Steve Jobs of object

        WhoAmI.call(BillGates);     //直接将BillGates作为this,调用WhoAmI。输出:I'm Bill Gates of object
        BillGates.WhoAmI.call(SteveJobs );//将SteveJobs做为this,调用WhAmI。输出:I'm Steve Jobs of Bject

 上面用到了一个cell函数:将A对象的方法放在B对象上执行

原文地址:https://www.cnblogs.com/p_db/p/2591406.html