var Box = function( widthNum ){
            this.width = widthNum;//这个表示在Box方法里重新声名一个width
            var width = 55;//这个也是声明一个width
                };
//总结一点.两个width都一样.根据个人习惯来命名了.都可以通过Box.width来访问此变量.

解决方案 »

  1.   

    两个width都是Box类的属性,this.width=widthNum是在声明这个类的同时并给属性赋初值;而var width=55;是重新申明一个属性变量并赋与初值。
    一般定义一个类的话很少用你上面这种写法,可以参考下面类的定义:
    var Box = function(widthNum){
        var width = 55;// 定义属性变量并赋初值
        function Box(width){ // 定义构造函数,这里的width值等于widthNum值
            this.width = width;
        }
    }