我有一个对象:
let game = {
canvas: document.getElementById('main_canvas').getContext("2d"),
clear: function(){
this.canvas.clearRect(0,0,400,400);
},
update: function(){
this.clear();
//more code
},
};
在我的清晰方法中,一切都使用'this'来指代'游戏',但是当我在'update'方法中使用'this'时它并不是指“游戏”?当我使用game.clear();一切正常,但是'这个'我得到了不确定。如果有人知道原因,请发表回复。我最近了解了对象,并且知道箭头函数没有给出'this',但是认为像上面这样的匿名函数可以让我引用'parent'或owner对象。
答案 0 :(得分:0)
您需要使用.bind
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_objects/Function/bind
这实质上将它绑定到创建方法的对象。
看起来应该是这样的。
library(boot)
# generate some data:
x <- rnorm(300, mean = 5, sd = 2)
y <- x^2 * rnorm(300, mean = 1.5, sd = 1) + rnorm(300, mean = 3, sd = 1)
df <- data.frame(x = x, y = y)
m1 <- nls(y ~ b1 * x^2 + b2, data = df, start = list(b1 = 1.5, b2 = 3))
boot.coef <- function(mod, data, indices) {
assign(deparse(mod$data), data[indices, ])
m <- eval(mod$call)
return(coef(m))
}
results <- boot(data = df, statistic = boot.coef,
R = 1000, mod = m1)