但是我想要做的是能夠傳遞JavaScript中的任意代碼,這些代碼將在特定的範圍內執行,類似於您如何在Ruby中生成塊。JavaScript中的Ruby樣式塊?
藉此例如:
function injectHook() {
return function(block) {
block();
}
}
(function() {
var a = 1;
self.inject = injectHook();
})();
inject(function() {
a++;
});
inject(function() {
console.log(a);
});
的嘗試,因爲上面是injectHook
在不同的範圍定義,將無法訪問a
將無法正常工作。
這裏的主要用例是對複雜代碼進行實時調試。
編輯:I started a GitHub project around this question
這個問題並不十分清楚。你當然可以「說」這些陳述。當你「說」他們時,你期望**會發生什麼?在那段代碼中,「自我」是什麼意思?這真的不是一個JavaScript概念。你是不是指「這個」? – Pointy
我試圖在那裏更清楚些。希望它更容易理解。 – kristopolous
+1是一個很好的問題:) –