javascript 这里的ajQuery.fn 是什么意思?有什么作用?

var $$ = ajQuery = function(selector) { this.selector = selector; return this}ajQuery.fn = ajQuery.prototype = { selectorName:function(){ return this.selector; }, constructor: ajQuery}var a = new $$(✀aaa✀); //实例化a.selectorName() //aaa //得到选择器名字
2026年09月24日 11:12
有2个网友回答
网友(1):

ajQuery是一个对象,这个应该理解的,是吧。
ajQuery.fn = ajQuery.prototype = {
selectorName:function(){
return this.selector;
},
constructor: ajQuery
}
表示,ajQuery下有一个属性,fn这个属性与ajQuery的prototype指向同一个内存地址(也就是不同名称的同一个属性)
并且,这个fn属性也是一个对象,这个fn对象中包含2个属性,一个selectorName,一个constructor
其中constructor 的值是一个对象为 ajQuery(这样做是为了能够追溯自己的类在哪里)
另一个selectorName属性,本身是一个方法实现(js中属性和方法是同类的,可以随时互换),即是说检索selectorName属性时,会立刻计算function的值,也就是 返回当前的 selector

其实就是在做构建,虽然我觉得这个构建本身没有任何实际的价值。我的意思是说,这确实是完成了一些功能,但是我看不出来在实际的项目开发中这些功能有啥用。

网友(2):

ajQuery.fn = ajQuery.prototype 就是ajQuery的prototype一个别名。
至于什么是prototype,太长你可以具体搜一下。
不过这里主要目的是fn提供了函数扩展空间
jQuery.fn.aaa=function(){...}

就是为所有jquery对象扩展了一个aaa()的方法。
写jquery插件时候我们都是用fn和上面的方法来扩展一个方法
不过你给的例子中是仿照了jquery官方的写法,生成了一个“ajQuery"的对象。亦可以用$$来简写。