gpt4 book ai didi

javascript - JavaScript 函数如何运行

转载 作者:行者123 更新时间:2023-11-28 12:25:45 26 4
gpt4 key购买 nike

我想知道 javascript 函数如何加载或运行。

举个例子,我有这些 javascript 函数 block ;

<span id=indicator></span>

function BlockOne(){
var textToWrite = document.createTextNode("I am ");
document.getElementById("indicator").appendChild(textToWrite);
}
//==========
function BlockTwo(){
var textToWrite = document.createTextNode("Going ");
document.getElementById("indicator").appendChild(textToWrite);
}
//=========
function BlockThree(){
var textToWrite = document.createTextNode("To School ");
document.getElementById("indicator").appendChild(textToWrite);
}

function RunAll(){
BlockOne();
BlockTwo();
BlockThree();
}
window.onload=RunAll();

请先运行这些函数 block 中的哪一个,或者它们将按什么顺序运行。

最佳答案

这个:

window.onload=BlockOne=BlockTwo=BlockThree;

当“load”事件触发时,将导致仅“BlockThree”运行。赋值语句的解释方式就像是这样写的:

window.onload = (BlockOne = (BlockTwo = BlockThree));

最右边的 = 运算符使符号“BlockTwo”设置为与“BlockThree”相同的值,然后中间的 = 分配该值(仍然是“BlockThree”)到“BlockOne”。函数定义语句将函数名称绑定(bind)到局部符号,但它们不是特殊符号;它们与普通的 var 符号几乎相同。

当这一切完成后,window 的“onload”属性将被设置为一个函数引用,即“BlockThree”。此后,与“BlockOne”和“BlockTwo”相关的原始函数将不再可引用;他们基本上已经消失了。

第二个不会运行它们中的任何一个,因为您的“RunAll”函数缺少所有三个函数的函数调用运算符( () )。如果是的话

function RunAll(){
BlockOne();BlockTwo();BlockThree();
}

然后所有三个都会按照从左到右列出的顺序运行。

关于javascript - JavaScript 函数如何运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29043529/

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