call,apply和bind的区别
2018-06-24 00:08:50来源:未知 阅读 ()
call,apply继承并调用该函数,bind继承后未调用函数。
var React = require('react'); //核心 var ReactDom = require('react-dom'); //描画dom var Nav=React.createClass({ render: function(){ return <div>Nav</div> } }); var Header=React.createClass({ getInitialState: function(){//组件初始状态 return { // 数据名:值 str:'bmw', } }, show: function(a,ev){ // alert(a);//参数 // console.log(this); console.log(ev);//代理事件对象 // ev.target.style.background='red'; }, render: function(){ /*var show=function(){ alert('ok'); };*/ return <div> <input type="button" value="按钮" onClick={this.show.bind(this,12)}/> //此处只能用bind,如果用的是call或apply,打开页面后尚未点击时函数show()就已经执行了(被调用)。 </div> } }); //组件属性 , 值是string||表达式 ReactDom.render( <Header></Header>, document.querySelector('#app') );
另,call和apply的区别在于:call必须明确地传入每一个参数,apply传入参数数组。(详见《高级程序设计》p116)
即,call ( 在其中运行函数的作用域,每一个参数 ) → call ( this,pra1,pra2,pra3 )
apply ( 在其中运行函数的作用域,参数数组) → call ( this,[pra1,pra2,pra3] )
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- JavaScript中的apply和call函数详解 2020-01-07
- 详解jQuery bind事件的操作方法 2019-11-03
- javascript call方法使用说明 2019-10-08
- vue.js(3)--v-bind与v-on 2019-08-14
- call,apply,bind的理解 2019-08-14
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash