【发布时间】:2014-12-29 10:27:19
【问题描述】:
以下代码在使用 google 闭包编译器高级模式编译时会引发警告/错误。
JSC_INEXISTENT_PROPERTY:从未在播放器上定义属性 getJerseyNumber
有什么想法可以解决这个问题吗?
var getDetails = {
getJerseyNumber: function() {
return Math.random();
}
};
/**
* @param {Object} source
* @param {Object} delta
*/
function mixIn(source, delta) {
for (var i in delta) {
source[i] = delta[i];
}
}
/**
* @type {{name: string , sport: string}}
*/
var player = {
name: 'Tom Brady',
sport: 'Football'
};
mixIn(player, /** @lends {player} */ getJerseyNumber);
alert(player.getJerseyNumber());
使用@lends 仅适用于对象字面量。所以添加这条线会起作用,但还有其他想法吗?
mixIn(player, /** @lends {player} */ {
getJerseyNumber: function() {
return Math.random();
}
});
【问题讨论】:
标签: javascript build compiler-errors compiler-warnings google-closure-compiler