将param传递给javascript构造函数

时间:2015-11-05 12:46:15

标签: javascript jquery

    function check_and_kill(selector){
        (function checkState(selector){
            if(selector.attr('type')){ 
                return false;
            }else{
                return true;
            }
        })(),

        kill = function(){
            if(this.checkState() == false){
                console.log('kill all')
            }
        }

    }
$('something').click(){
    check_and_kill($(this));
}

我尝试将checkState作为我的构造函数,kill的第二个函数依赖于构造函数返回的值,但是我无法通过选择器,它返回undefined。

2 个答案:

答案 0 :(得分:0)

以下是两种情况的模拟。

代码

function Class(str){
	(function(str){
    	document.write(str)
    })(str)                  // Binding value
}

function Class2(str){
	(function(str){
    	document.write(str)
    })()                    // Not binding value
}

(function(){
	var a = new Class("Hello World. ");
    var b = new Class2(" Hello World ")
})()

答案 1 :(得分:0)

您不会存储构造函数中的值...

checkState = (function checkState(selector){
        if(selector.attr('type')){ 
            return false;
        }else{
            return true;
        }
})(),

或者调用kill函数...你也应该仔细查看调用.click的语法....还.click没有引用"这个&# 34;

以下是您正在尝试做的精神的一个工作示例:

https://jsfiddle.net/n2zk1wym/

这是一个可以做你正在尝试做的事情的工作范例,没有所有的花里胡哨。您尝试使用javascript语言的更精细方面是值得称道的,但对于这个特定问题完全没有必要:

https://jsfiddle.net/2mL9jh2a/