zoukankan      html  css  js  c++  java
  • js~this的陷阱

    在JS中,当前对象一般用this表示,在jquery中,当前的对象是用$(this)表示,这些都是最基础的知识,没什么可说的,但我要说的是,当this出现在某个深度时,它的含义你自己要清楚,它是指离当前元素最近的那个当前对象,而不是其它对象.

    this举例

    例如,在一个function表示的类中,它内部可能有自己的方法,而在方法里的this就表示当前方法对象,而不是function级别的类对象,代码如下

    var Cart=function(){
    var self=this;//这个是当前function对象
    self.Add=function(){
    var insertObj=this;//这个是当前Add方法对象
    }
    }

    $(this)举例

    对于Jquery也是一个的,如在一个click事件中,还有$.post方法,这时,$.post方法里的$(this)与方法外的$(this)就是两个含义的,所以,如果希望在$.post方法里使用click对象的this,一般需要在$.post方法外去先声明,代码如下

         //删除
            $(".deleteBtn").click(function () {
                var self = $(this);//当前click事件源对象
                $.post("/course/DelCourse?id=" + $(this).attr("value"), function (data) {
                    if (data.code == 1) {
                        self.closest("div.titDefault").remove();
                    }
                });
            });
  • 相关阅读:
    抽象类 C#
    多态
    父类与子类的转换as,is
    try catch finally 与continue的使用
    封装、多态、继承
    new关键字 、this关键字、base关键字
    进程的使用
    Spring IOC
    使用annotation配置hibernate(3):一对一关系配置
    使用annotation配置hibernate(3):多对多关系配置
  • 原文地址:https://www.cnblogs.com/lori/p/3979356.html
Copyright © 2011-2022 走看看