gpt4 book ai didi

JavaScript 代码 : how does it work?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:50:01 25 4
gpt4 key购买 nike

我最近完成了 DevTools ~> http://discover-devtools.codeschool.com/当然,在检查使用的代码时,我遇到了一些我不理解的部分:

String.prototype.repeat = function (num) {
return new Array(num + 1).join(this);
};

因此在 displayDate() 方法中使用:

var body = $('body')[0].outerHTML.repeat(10000);

使用此代码的重要性是什么?

其次,在 displayToday() 方法中,displayDate() 方法被调用并带有一个参数,尽管它没有被定义为接受一个 arg。为什么会这样?

我正在学习 JS,但无法完全理解这些。欢迎任何帮助。

最佳答案

String.prototype.repeat = function (num) {
return new Array(num + 1).join(this);
};

此代码创建了一个长度为 num+1 的数组,其中填充了 undefined。然后使用 join 将其折叠成一个字符串,将每个未定义的值与上下文 this 分隔开,这是 outerHTML 字符串。当一个数组连接成一个字符串时,undefined 值什么都不是,因此生成的字符串只包含出现 num 次的分隔符,从而“重复”该字符串。

//let . be "undefined, which when turned into a string, is just nothing
[u,u,u,...,u].join('test');
'(u)test(u)test(u)...(u)test'
'testtest...test'

至于第二个问题,JS 中的函数总是接受参数,即使这个函数并不打算接受参数。在 JS 的函数中定义参数只是简单地为传递的参数分配一个名称。参数将始终转到函数,并收集在函数中可用的特殊数组中作为 arguments 变量。

function fn(){
console.log(arguments); //['hello','world'];
}

foo('hello','world');

关于JavaScript 代码 : how does it work?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16367420/

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