怎么判断是否有传参数

zpjshiwo77 2015-10-26 11:40:05
例如这样一个方法function xx(a,b,c){},我想在方法里面判断是否有传参数,a,b,c可能是变量,对象,方法,我用的是if(typeof a !="undefined"){}不知道对不对?总感觉又什么问题。
想问一问,我这样判断对吗?还有什么更好判断的方法?
...全文
375 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
slwsss 2015-10-26
  • 打赏
  • 举报
回复
function(a,b,c){ //在这里重新对 abc初始化 function
zpjshiwo77 2015-10-26
  • 打赏
  • 举报
回复
引用 3 楼 zpjshiwo77 的回复:
[quote=引用 1 楼 slwsss 的回复:] 判断arguments function a(a,b,c){alert( arguments.length)}
这样貌似不行,因为我结构是这样的 function(a,b,c){ function(){ //这里判断是否传入c } } 顺便问问我的方法可以不~
zpjshiwo77 2015-10-26
  • 打赏
  • 举报
回复
引用 1 楼 slwsss 的回复:
判断arguments function a(a,b,c){alert( arguments.length)}
这样貌似不行,因为我结构是这样的 function(a,b,c){ function
  • 打赏
  • 举报
回复
arguments.length js的重载实现就靠它了
slwsss 2015-10-26
  • 打赏
  • 举报
回复
判断arguments function a(a,b,c){alert( arguments.length)}
slwsss 2015-10-26
  • 打赏
  • 举报
回复
直接判断 a===undefined就行了
  • 打赏
  • 举报
回复
typeof看你怎么取的,你可以看下jquery为什么可以实现前面的是可传的 他就是根据类型来判断参数是什么的
zpjshiwo77 2015-10-26
  • 打赏
  • 举报
回复
引用 2 楼 starfd 的回复:
arguments.length js的重载实现就靠它了
那我想问一下,如果变量或者是对象,没有声明和赋值,那么typeof得到的是不是一定是undefined。

87,963

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧