javascript的一些自我见解

在学习javascript的过程中遇到许多问题以及一些细节,现在将一些问题和自己的见解发上来mark一下

1,null==undefined//true

2,undefined==undefined//true

3,变量未定义时是undefined,变量定义了但未赋值也是undefined的

4,

function Polygon(iSides)
 {
         this.sides = iSides;
 }
Polygon.prototype.getArea = function() 
{
        return 0;
};

function Triangle(iBase, iHeight) 
{
        Polygon.call(this, 3);
        this.base = iBase;
        this.height = iHeight;
}

Triangle.prototype = new Polygon();
Triangle.prototype.getArea = function() 
{
        return 0.5 * this.base * this.height;
}
Triangle.prototype.getHeight=function()
{
return this.height;
}

  

Polygon.prototype.getArea 是设置自己prototype,是显示的prototype

Triangle.prototype = new Polygon();表示Triangle继承自Polygon是隐式的prototype

Triangle.prototype.getArea重写Polygon.prototype.getArea方法是显示的prototype

Triangle.prototype.getHeight增添新的方法是显示的prototype

5,由于执行脚本时,先对脚本进行扫描,将定义的变量和方法以键值对的形式存起来,等到用的时候,直接索取。所以如果存在同名的方法定义时,在使用时就会直接调用最后一个被申明的同名方法

6,javascript比较自由,对方法的识别鄙视很严格,所以我们可以看到同名的方法不同的参数在javascript中时没有意义的,参数不是他设别方法和创建方法的的参数,方法的执行依旧会按照第五点描述的执行,不论你传入的是什么形参

7,!new Boolean(false)//false是因为new Boolean(false)是一个对象且不为null所以new Boolean(false)=true



posted @ 2013-08-29 16:32  沁园春.雪  阅读(163)  评论(0)    收藏  举报