javascript绑定作用域是个不错的东西

虽然以前一直都知道js可以绑定事件,但当时一直觉得在js文件里绑定只是不在html写onclick、ondbclick等属性而已,那样就是让html代码看起来更干净一点而已。然而实际不然,这个绑定可以实现一个很强大的功能,那就是传递作用域。这个作用与闭包类似,但实现起来更加的方便,见下面代码:

$.userArray = []//全局变量
this.tree = {};
var a = document.createElement("a");
$(a).attr("href","javascript:void(0);");
$(a).attr("class","userlist_delete");
$(a).html("删除");
$(a).bind('click'{name:names[i],tree:this.tree,number:numberArray[i]},function(e){
$.userArray = [1]; 
e.data.tree....
});// click end
当这个浏览器网页加载完成时,这个A元素也显示完成。但是其click事件内的$.userArray(一个全局变量)的作用域还是有效的,我们通过单击“删除”链接,来实现动态修改 $.userArray变量的目的,这个功能其实相当强大。

需要注意的是,上面的代码中的this.tree这个this不能直接在click事件的回调函数中使用,而必须通过参数的形式把传进去才可以使用。

最近发现,JS的功能还真是强大 ,比如反射,用JAVA使用起来比较麻烦,而用JS相对来说容易多,比如访问对象属性,除了用object.name这种方式外,还可以用object["name"]这种方式,而用JAVA来实现这种字符串的方式访问属性会比较麻烦。通过字符串的方式访问属性可以实现手动指定访问哪个属性,在做比较复杂的JS应用时,还是相当有用的 。

转载于:https://my.oschina.net/moluyingxing/blog/186312

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值