1. 程式人生 > 其它 >高階函式——函式的柯里化

高階函式——函式的柯里化

高階函式:如果一個函式符合下面2個規範中的任何一個,那該函式就是高階函式   1. 若A函式,接收的引數是一個函式,那麼A就是高階函式   2. 若A函式,呼叫的返回值依然是一個函式,那麼A就是高階函式 函式的柯里化:通過函式呼叫繼續返回函式的方式, 實現多次接收引數最後統一處理的函式編碼形式 常見的高階函式:new Promise、setTimeout、arr.map()
     // 建立元件
        class Login extends React.Component{
            state = {
                username: '',
                password: 
'' } // 這就是函式的柯里化,接收了兩個引數:dataType、event saveFormData = (dataType) => { return (event) => { this.setState({[dataType]: event.target.value}) } } handleSubmit = (event) => { event.preventDefault()
// 阻止表單提交 const {username, password} = this.state alert(`使用者名稱是${username},密碼是${password}`) } render() { return ( <form onSubmit={this.handleSubmit}> 使用者名稱:<input type="text" onChange={this
.saveFormData('username')}
name="username"/> 密碼:<input type="password" onChange={this.saveFormData('password')} name="password"/> <button>登入</button> </form> ) } } ReactDOM.render(<Login/>, document.getElementById('test')
)