gpt4 book ai didi

javascript - 将 document.write 存储在 JavaScript 中不起作用的变量中

转载 作者:行者123 更新时间:2023-12-02 19:13:00 25 4
gpt4 key购买 nike

以下程序按预期打印“Hello world”

var print = function(t){
document.write(t);
};

var printAlias = print;

printAlias("Hello world");

但是当我对 document.write 使用相同的技术时,它不起作用。

var write = document.write ;
write("Something);

谁能告诉我我错过了什么?

最佳答案

它不起作用,因为您丢失了 documentwrite 方法中的上下文(“this 值”)。您可以使用 call method 调用 write取回它:

write.call(document, "Something");

在您的第一个示例中,您只需将对 document.write 的调用包装在另一个函数中,但调用本身会保留上下文,因为您将 write 调用为文档

因此,如果您的目标是更短的代码,您也可以坚持使用通常的函数或包装器函数!或者(感谢@Esailija)你可以 bind创建 write 变量时 document 的上下文:

var write  = document.write.bind(document);

关于javascript - 将 document.write 存储在 JavaScript 中不起作用的变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13452033/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com