无法理解这段代码

时间:2016-01-24 01:39:25

标签: javascript

我无法理解这段代码。 请帮帮我

function HelloFunc(func){
    this.greeting = "hello";
}

HelloFunc.prototype.call = function(func){
    func? func(this.greeting) : this.func(this.greeting);
}

var userFunc = function(greeting){
     console.log(greeting);
}

var objHello = new HelloFunc();
objHello.func = userFunc;
objHello.call();

FUNC? func(this.greeting):this.fun(this.greeting);

这是什么意思?

另外,我无法理解整个代码 请解释那段代码

1 个答案:

答案 0 :(得分:0)

这是三元?: - 运算符,可以重写为:

if (func) {
    func(this.greeting);
} else {
    this.func(this.greeting);
}

唯一不同的是,原始表达式有一个值,但在上面的代码片段中它仍未使用。