返回的可能值有
'undefined' - 如果变量是 Undefined 类型的
'boolean' - 如果变量是 Boolean 类型的
'number' - 如果变量是 Number 类型的
'string' - 如果变量是 String 类型的
'object' - 如果变量是一种引用类型或 Null 类型的
if(typeof(123)=='number')alert('this is a number')
以此类推非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!
5个,这里没有什么疑问的!从形式上看很看是两个的,因为有二个为一组做为一个对象,有三个为一组做为一个对象,共有两个.所以应该说是两个,而从我的感觉当中这样是不对的,因为在JS中不存在(exp1,exp2)这样的定义方法,他不是{1,2}而是(1,2),而且()的做用除了VB中的索引外,在JS中只是改变了运算符的优先顺序,而这里改变的显然是,运算符的优选顺序,而,运算本身的优选顺序是自左向右,所以这里除了改变顺序达到一个特殊目的,但如果不考虑这个特殊目的,那么,加了括号跟不加是没有区别的.所以这里的参数是五个而不是两个!
当然你完全可以做一个验证:定义一个有五个形参的函数,然后加括号传值,看一下是否成功!
JS函数的参数在function内可以用arguments对象来获取。参数的调用有两种方式:
1、期望参数的使用。
2、实际传递参数的使用。
应用举例:
function
Test(a,
b){
var
i,
s
=
"Test函数有"
var
numargs
=
arguments.length
//
获取实际被传递参数的数值。
var
expargs
=
Test.length
//
获取期望参数的数值,函数定义时的预期参数个数(有a和b
2个参数)。
s
+=
(expargs
+
"个参数。")
s
+=
"\n\n"
for
(i
=0
i
<
numargs
i++){
//
获取参数内容。
s
+=
"
第"
+
i
+
"个参数是:"
+
arguments[i]
+
"\n"
}
return(s)
//
返回参数列表。
}
alert(Test('param1','second
param','第三个参数'))
需要注意的是:
arguments是一个object对象,它不是数组,不能对它使用shift、push、join等方法。
上述举例时用的arguments[i]中的i只是作为arguments对象的属性,并不能理解为数组下标。
代码演示
<html>
<head>
<script
language="javascript">
function
reloadList(){
if(typeof
arguments[0]
==
"function"){
arguments[0].call(this)
arguments[0]()
}
if(typeof
arguments[0]
==
"string")
alert(arguments[0])
if(typeof
arguments[0]
==
"number")
alert(arguments[0])
if(typeof
arguments[0]
==
"undefined")
alert(arguments[0])
if(typeof
arguments[0]
==
"boolean")
alert(arguments[0])
if(typeof
arguments[0]
==
"null")
alert(arguments[0])
}
reloadList(function(){})
</script>
</head>
<body>
</body>
以上这篇深入理解JS函数的参数(arguments)的使用就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。