我一直在关注www.w3school.com上的javascript教程,在阅读其中一个例子时,我脑子里有一个问题,代码如下:
<html>
<body>
<script type="text/javascript">
var txt =new String ("Hello World!");
document.write(txt.constructor);
</script>
</body>
</html>
现在,我对此代码的回应是:
function String() { [native code] }
但是,根据我的说法,构造函数必须有一个参数,如下所示:
function string(value){}
任何人都可以告诉我为什么它返回没有参数的构造函数。
答案 0 :(得分:2)
即使没有在JavaScript函数中定义参数,我们仍然可以使用arguments
获取参数:
function test() {
console.log(arguments);
}
test(1,3,6); // Output "[1,3,6]" in console.
答案 1 :(得分:0)
其他评论是正确的,但它们并未解决您的问题。你没有看到任何参数的原因,以及它为什么说“[本地代码]”而不是函数的实际内容,是window.String是一个本机函数 - 它不是对javascript函数的引用,而是而是一个符号,指示浏览器在运行您的javascript时要做什么。可以认为它更像是加号而不是函数。