{ "data": { "question": { "questionId": "2770", "questionFrontendId": "2754", "categoryTitle": "JavaScript", "boundTopicId": 2323990, "title": "Bind Function to Context", "titleSlug": "bind-function-to-context", "content": null, "translatedTitle": "将函数绑定到上下文", "translatedContent": null, "isPaidOnly": true, "difficulty": "Medium", "likes": 1, "dislikes": 0, "isLiked": null, "similarQuestions": "[]", "contributors": [], "langToValidPlayground": null, "topicTags": [], "companyTagStats": null, "codeSnippets": null, "stats": "{\"totalAccepted\": \"422\", \"totalSubmission\": \"533\", \"totalAcceptedRaw\": 422, \"totalSubmissionRaw\": 533, \"acRate\": \"79.2%\"}", "hints": [ "The easiest way to solve this is to use the built-in fn.apply() method.", "Without built-in methods, you need to figure out a way to call the function (this) from context object. That will associate \"this\" appropriately.", "You can create a new Symbol(). Attach the symbol to the context object and set the method to be \"this\". Then call the method on the symbol." ], "solution": null, "status": null, "sampleTestCase": "function f(multiplier) { return this.x * multiplier; }\n{\"x\":10}\n[5]", "metaData": "{\n \"name\": \"jsonParse\",\n \"params\": [\n {\n \"name\": \"fn\",\n \"type\": \"string\"\n },\n {\n \"type\": \"string\",\n \"name\": \"obj\"\n },\n {\n \"type\": \"string\",\n \"name\": \"inputs\"\n }\n ],\n \"return\": {\n \"type\": \"integer\"\n },\n \"languages\": [\n \"javascript\",\n \"typescript\"\n ],\n \"manual\": true\n}", "judgerAvailable": true, "judgeType": "large", "mysqlSchemas": [], "enableRunCode": true, "envInfo": "{\"javascript\":[\"JavaScript\",\"
\\u7248\\u672c\\uff1a \\u60a8\\u7684\\u4ee3\\u7801\\u5728\\u6267\\u884c\\u65f6\\u5c06\\u5e26\\u4e0a lodash.js<\\/a> \\u5e93\\u5df2\\u7ecf\\u9ed8\\u8ba4\\u88ab\\u5305\\u542b\\u3002<\\/p>\\r\\n\\r\\n \\u60a8\\u53ef\\u4f7f\\u7528 datastructures-js <\\/a>\\u5e93\\u6240\\u63d0\\u4f9b\\u7684\\u6570\\u636e\\u7ed3\\u6784\\u3002<\\/p>\"],\"typescript\":[\"TypeScript\",\" TypeScript 5.7.3<\\/p>\\r\\n\\r\\n Compile Options: --alwaysStrict --strictBindCallApply --strictFunctionTypes --target ES2024<\\/p>\\r\\n\\r\\n lodash.js<\\/a> \\u5e93\\u5df2\\u7ecf\\u9ed8\\u8ba4\\u88ab\\u5305\\u542b\\u3002<\\/p>\\r\\n\\r\\nNode.js 22.14.0<\\/code><\\/p>\\r\\n\\r\\n
--harmony<\\/code> \\u6807\\u8bb0\\u6765\\u5f00\\u542f \\u65b0\\u7248ES6\\u7279\\u6027<\\/a>\\u3002<\\/p>\\r\\n\\r\\n