js传参
在 JavaScript 里,函数参数默认就是可选的,不传 = undefined,函数作者必须自己判断要不要用它
typeof
if (typeof onComplete === 'function') onComplete();
因为 onComplete 可能是:
- 没传(undefined)
- 传了 null
- 传了一个字符串、数字、对象……
- 也可能传了一个真正的 函数
如果直接写:
onComplete();
但 onComplete 不是函数,就会报错:
TypeError: onComplete is not a function
所以先检查它是不是函数:
typeof onComplete === 'function'
只有在值为 "function" 时才调用。
typeof 的结果
| 值 | typeof 返回值 |
|---|---|
| 函数 | "function" |
| 数字 | "number" |
| 字符串 | "string" |
| 对象(含数组) | "object" |
| null |
"object"(历史遗留) |
| undefined | "undefined" |
Top comments (0)