I'm learning jQuery by trying to understand other people's code. I ran into this:

jQuery.fn.myFunc = function(options, callback) {

//stuff

  jQuery(this)[settings.event](function(e) {
    var self = this,
    $self = jQuery( this ),
    $body = jQuery( "body" );
     //etc.
  }

//more stuff

}

我的理解是$指的是jQuery对象.那么为什么要把$$self$body放在一起呢?self$self一样吗?

推荐答案

$self$没有什么关系,在本例中,$是jQuery的别名.有些人喜欢将美元符号和变量放在一起,以区分常规var和jQuery对象.

example:

var self = 'some string';
var $self = 'another string';

These are declared as two different variables. It's like putting underscore before private variables.

一种比较流行的模式是:

var foo = 'some string';
var $foo = $('.foo');

这样,您就知道$foo在代码后面是一个缓存的jQuery对象.

Jquery相关问答推荐

当一个很长的活动增加标题时,满历js每周都会出现.这是一种让标题只出现一次的方法吗?

使用带有 bootstrap 验证的 Ajax 函数时出现问题

jQuery:获取数据属性

jQuery 上传进度和 AJAX 文件上传

在 textarea 输入中美化 json 数据

Twitter Bootstrap 是否包含 jQuery?

JQuery/Javascript:判断 var 是否存在

jQuery ajax() 使用成功、错误和完成与 .done()、.fail() 和 always()

使用 bootstrap-datepicker 检测对选定日期的更改

如何使用 jQuery Select 单个子元素?

如何在 jQuery 中存储全局值(不一定是全局变量)?

jQuery scrollTop 在 Chrome 中不工作但在 Firefox 中工作

JavaScript / jQuery:测试窗口是否有焦点

如何获取文档的滚动位置?

根据弹出框相对于窗口边缘的 X 位置更改 Bootstrap 弹出框的位置?

如何在我的 WordPress 插件中包含 CSS 和 jQuery?

如何检测 window.print() 完成

你能在不影响历史的情况下使用哈希导航吗?

将多个参数传递给 jQuery ajax 调用

使用 Ajax 下载并打开 PDF 文件