自定义函数