相关疑难解决方法(0)

为什么有必要设置原型构造函数?

MDN文章面向对象的Javascript简介中关于继承部分中,我注意到他们设置了prototype.constructor:

// correct the constructor pointer because it points to Person
Student.prototype.constructor = Student;  
Run Code Online (Sandbox Code Playgroud)

这有什么重要意义吗?省略它可以吗?

javascript oop inheritance

284
推荐指数
6
解决办法
5万
查看次数

原型和构造函数对象属性

我有:

function Obj1(param)
{
    this.test1 = param || 1;

}

function Obj2(param, par)
{
    this.test2 = param;

}
Run Code Online (Sandbox Code Playgroud)

现在我做的时候:

Obj2.prototype = new Obj1(44);
var obj = new Obj2(55);

alert(obj.constructor) 
Run Code Online (Sandbox Code Playgroud)

我有:

function Obj1(param) {
    this.test1 = param || 1;
}
Run Code Online (Sandbox Code Playgroud)

但是构造函数一直是Obj2 ......为什么呢?Obj1已成为Obj2的原型......

有人可以详细解释我的原型链和构造函数属性

谢谢

javascript constructor prototype

10
推荐指数
2
解决办法
2万
查看次数

Java Script Revealing Module Pattern创建多个对象

我需要有关在Revealing Module Pattern方式中编写更好代码的建议.我已经按照教程http://weblogs.asp.net/dwahlin/archive/2011/09/05/creating-multiple-javascript-objects-when-using-the-revealing-module-pattern.aspx对我帮助很大了解这种模式的基础知识.我正在尝试创建基本图像滑块.请检查jsfiddle链接,

http://jsfiddle.net/sWtDf/

var Slider = window.Slider = window.Slider || {};

    Slider = (function($){

        var $reelWrap = $('.fnSlider'),
            $reel = $('.fnSlider').children('ul'),
            $slide = $reel.children('li'),
            slideWidth = $slide.width(),
            numSlides = $slide.length,                
            reelWidth = numSlides*slideWidth,
            $prev = $('.prev'),
            $next = $('.next'),

            init = function(){   
                pageLoad();               
                nextSlide();
                prevSlide();
            },

            pageLoad = function(){
                var index = 2;                                  
                $reel.css('width', reelWidth);
                $slide.eq(index).addClass('fnActive');     
                $reel.css('left', -(index*slideWidth));
            }

            nextSlide = function(){ 

                $next.click(function(e){
                    e.preventDefault();

                    var index = $reel.children('.fnActive').index() + 1;
                    var scroll = index * slideWidth;

                    if(index …
Run Code Online (Sandbox Code Playgroud)

javascript jquery revealing-module-pattern

2
推荐指数
1
解决办法
3012
查看次数