JS参数问题

function sayHi() {
alert("Hello " + arguments[0] + "," + arguments[1]);
}
sayHi();
调用后,sayHi()括号中填入name 弹出的是hello,underfined 填其他的都不行,以字符串填进去,“name”hello name,underfined 填入 例如 message 报错。。。。。这个name是什么东西?大家遇到过么?可以试验一下。

阅读 2.4k
3 个回答

window 有个属性名叫name...默认是空字符串,所以你直接填name,arguments[0]就是空字符串

看你传进去几个参数,你只传一个name,arguments的长度是1,arguments[1]当然是undefined,不过不知道你为什么要这么写

name是浏览器自带的全局属性,即window.name,表示当前窗口的name。一般是window.open中参数传进来的name参数,例如:

function openWin() {
myWindow=window.open('','MsgWindow','width=200,height=100');
myWindow.document.write("<p>This window's name is: " + myWindow.name + "</p>");
}

你这段代码如果在非浏览器环境下执行,例如node,将会和message报一样的错。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题