מחיקה דריסת פונקציות ב JS במהלך ריצה
לפעמים נחוץ למחוק \ לדרוס \ לשנות פונקציה במהלך ריצה מכיוון שאנחנו לא יכולים לגשת לקובץ שקורא לה או מכל מיני סיבות אחרות יש לציין שמחיקת פונקציה אינה משחררת זיכרון.
כאשר מדובר בפונקציה שבתוך אובייקט :
var obj = {
test: function() {
console.log("test");
}
}
obj.test(); // test
delete obj.test;
obj.test(); // TypeError: obj.test is not a function
כאשר מדובר בפונקציה :
function test() {
console.log("test");
}
test(); // test
delete test;
test = undefined;
test(); // TypeError
כזכור פונקציה היא גם סוג של אובייקט ירושה ב js
אפשר גם לעשות משהו בסיגנון הזה :
var test = func()
{
// your function
}
test = undefined;
אם רוצים להדפיס את הפונקציה אפשר לרשום את הפקודה הזאת ( כמובן לשנות את שם הפונקציה לשלכם)
function.toSource()