更大的Javascript函数需要更长的时间来定义吗?

更大的Javascript函数需要更长的时间来定义吗?,javascript,performance,v8,Javascript,Performance,V8,更大(更长、更复杂)的JS函数需要更长的时间来定义吗?(顺便说一句,这不是调用函数所需的时间)我的观点: 函数越大,JavaScript引擎处理它的时间就越长 对于JavaScript,在许多情况下,编译只发生在代码执行前几微秒(或更短!) 希望你能在这里找到一些有用的东西。:-) 我的观点: 函数越大,JavaScript引擎处理它的时间就越长 对于JavaScript,在许多情况下,编译只发生在代码执行前几微秒(或更短!) 希望你能在这里找到一些有用的东西。:-) 你的意思是解释?当然,

更大(更长、更复杂)的JS函数需要更长的时间来定义吗?(顺便说一句,这不是调用函数所需的时间)

我的观点:

函数越大,JavaScript引擎处理它的时间就越长

对于JavaScript,在许多情况下,编译只发生在代码执行前几微秒(或更短!)

希望你能在这里找到一些有用的东西。:-)

我的观点:

函数越大,JavaScript引擎处理它的时间就越长

对于JavaScript,在许多情况下,编译只发生在代码执行前几微秒(或更短!)


希望你能在这里找到一些有用的东西。:-)

你的意思是解释?当然,解析器必须解析源代码中的每个字符,任何额外的字符都意味着额外的解析。但请注意,这只发生在脚本加载时,并不会以任何方式影响性能,主要是下载较长的函数会影响性能,而不是解析和解释它。@LaiXue那么,如果函数较长,您想知道在JS中创建新函数是否需要较长的时间吗?常识可能会说,是的,正如上面所说的,较长的函数对象不可能比较短的函数(更复杂意味着更多的指令)花费更少的时间来创建,因为源代码较长,解析将花费更长的时间。除此之外,在解析时,或者在第一次调用时,或者在两者之间的某个时候,引擎可能会也可能不会对解析后的代码执行任何操作。在某个时候,这将需要更长的时间。但实际上,除非你有兆字节和兆字节的代码,否则你在实践中几乎看不到任何区别;再加上不同的引擎会做不同的事情,这不是一个很有效的问题。我试过这个:两个测试的速度似乎是一样的
test1.js
定义一个返回空数组的函数,
test2.js
定义一个初始化数组的200个元素并返回它的函数。不确定这是否就是你所说的复杂。定义“定义”你的意思是解释吗?当然,解析器必须解析源代码中的每个字符,任何额外的字符都意味着额外的解析。但请注意,这只发生在脚本加载时,并不会以任何方式影响性能,主要是下载较长的函数会影响性能,而不是解析和解释它。@LaiXue那么,如果函数较长,您想知道在JS中创建新函数是否需要较长的时间吗?常识可能会说,是的,正如上面所说的,较长的函数对象不可能比较短的函数(更复杂意味着更多的指令)花费更少的时间来创建,因为源代码较长,解析将花费更长的时间。除此之外,在解析时,或者在第一次调用时,或者在两者之间的某个时候,引擎可能会也可能不会对解析后的代码执行任何操作。在某个时候,这将需要更长的时间。但实际上,除非你有兆字节和兆字节的代码,否则你在实践中几乎看不到任何区别;再加上不同的引擎会做不同的事情,这不是一个很有效的问题。我试过这个:两个测试的速度似乎是一样的
test1.js
定义一个返回空数组的函数,
test2.js
定义一个初始化数组的200个元素并返回它的函数。不确定这是否就是你所说的复杂。