`

关于js 中的 $()

阅读更多
并不是js的什么特殊用法。其实只是你的页面引用到的js(或被include页面的js)文件中定义有     名为$的这样一个function而已。

就我本人来说,开始在一个页面中看到这样一种用法:

后来终于在这个页面include的另一个页面包含的prototype.js中发现定义有这样一个名为$的function。
附prototype.js中 $() 的定义:
function $(element) {
  if (arguments.length > 1) {
    for (var i = 0, elements = [], length = arguments.length; i < length; i++)
      elements.push($(arguments[i]));
    return elements;
  }
  
  if (typeof element == 'string')
    element = document.getElementById(element);
  return Element.extend(element);
}



参考:
http://www.javascriptsearch.com/guides/Advanced/articles/0607ABetterDollarFunction.html
http://osric.com/chris/accidental-developer/2008/04/the-javascript-dollar-sign-function/
http://www.phpguru.org/article/the-javascript-dollar-function
http://javascript.internet.com/snippets/prototype-dollar-function.html

The dollar function must die
http://blog.dorward.me.uk/2009/02/19/the-dollar-function-must-die.html
引用

A number of JavaScript libraries have a function called $ and I’m irritated by it for a number of reasons:

The dollar sign is intended for use only in mechanically generated code.

… which the libraries are not.

The name doesn’t give a clue as to what the function does or where maintainers should look for documentation.

Different libraries use the $ function to do different things. In Prototype.js it means “Get the element with this id”, but in jQuery is means “Get all the elements that match this CSS selector”. Maintainers have to know what library is in use to know what the function does and can’t easily tell by just looking at the code.

If you have a library with a $ function, please don’t use it. Good libraries have alternatives (such as jQuery) or don’t create the function at all (such as YUI).
分享到:
评论

相关推荐

    javascript调用delphi中的函数

    3. **JavaScript调用COM组件**:在JavaScript中,可以通过`new ActiveXObject(Progid)`来实例化一个Delphi编写的COM组件,其中`Progid`是组件的程序标识符。然后,可以调用该对象的公开方法和属性。 4. **Delphi...

    jstree javascript js tree treeitem j2ee java

    "javascript js tree" 指的是使用JavaScript语言构建的树形结构,它在网页中可以用于展示层次化的数据,如目录结构、组织结构或导航菜单。"treeitem" 是树形结构中的一个元素,通常代表树中的一个节点。 **描述分析...

    JavaScript_Videojs开源HTML5视频播放器.zip

    在这个压缩包中,有两个主要文件:`说明.txt`可能是关于如何使用Video.js的指导文档,而`video.js_main.zip`则可能包含了Video.js的核心代码和其他相关资源。 首先,让我们深入了解一下JavaScript。JavaScript是一...

    js动态引入外部js脚本并获取里面的变量值.pdf

    "js动态引入外部js脚本并获取里面的变量值"这个主题就是关于如何在JavaScript中实现这种功能的讨论。 首先,`jQuery`库提供了一个非常方便的方法来实现动态加载外部脚本:`$.getScript()`。这是一个异步方法,它...

    智能社Js.rar

    事件处理是JavaScript中的重要概念,例如点击、鼠标移动、键盘输入等,通过绑定事件监听器,开发者可以实现用户交互功能。JavaScript还支持异步编程,如Promise和async/await,这对于处理耗时任务和避免阻塞用户界面...

    Java代码调用HTML5中的JS函数算法

    具体到给定的文件中,"des.html"可能是一个关于数据解密的HTML页面,"des.java"和"des.js"可能是实现解密算法的Java和JavaScript代码。"java调用js方法.doc"很可能是详细描述如何从Java调用JS函数的步骤和示例。 在...

    关于js中alert弹出窗口文本换行问题简单详细说明.docx

    JS 中 Alert 弹出窗口文本换行问题详细说明 在 JavaScript 中,Alert 弹出窗口是一个常用的功能,但是当我们需要在弹出窗口中显示换行文本时,可能会遇到一些问题。今天我们就来讨论一下 JS 中 Alert 弹出窗口文本...

    jstree中文文档.doc

    jstree是一个流行的JavaScript库,专门用于在前端创建交互式的树形结构。它适用于构建诸如文件浏览器、组织架构图或层级菜单等应用。这个中文文档详细介绍了jstree的核心功能和API,使得开发者能更容易地理解和使用...

    在javascript文件中读取properties文件需要的插件jquery.i18n.properties-min-1.0.9.js

    其中一个常用的插件是`jquery.i18n.properties`,正如标题所提及的`jquery.i18n.properties-min-1.0.9.js`,这是一个轻量级的jQuery插件,专门用于在JavaScript中处理.properties文件。 `jquery.i18n.properties`...

    关于在innerHTML中JS不执行的问题

    在JavaScript中,`innerHTML`属性是一个非常常用的工具,用于设置或获取HTML元素的内部HTML内容。然而,有时候我们在使用`innerHTML`插入包含JavaScript代码的HTML时,会发现这些脚本并没有像预期那样执行。这个问题...

    Angular.js中$resource高大上的数据交互详解

    本文主要给大家介绍的是关于Angular.js中$resource数据交互的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: $resource 创建一个resource对象的工厂函数,可以让你安全的和RESFUL服务端进行数据交互...

    Javascript面向对象扩展库(lang.js)

    在JavaScript中,类的定义通常是通过构造函数和原型链来实现的,而`lang.js`提供了一种更加简洁和规范的方式来定义类。例如,我们可以使用`lang.Class`来创建一个新类,它支持类的继承、封装和多态等特性,使得代码...

    关于我们-VUE模板 UNIAPP模板 布局、样式、JS分离

    在`pages\about\about.js`中,很可能包含了关于页面的特定逻辑,比如数据处理、事件处理函数等。而`main.js`作为应用的入口文件,通常会处理Vue实例的初始化、路由配置、全局组件注册等工作。`manifest.json`文件则...

    javascript写的模拟器运行linux--jslinux

    在提供的压缩包文件中,"note.txt"可能包含了关于如何设置和运行JSLinux的说明,包括可能的配置步骤和常见问题解答。"jslinux"和"jslinux_old"可能是两个不同版本的模拟器实现。"jslinux"是主程序,可能包含了最新的...

    关于 js 和 applet 相互调用的例子

    在JavaScript中,我们可以通过`document.applets`对象来访问已加载的Applet实例。而在Applet中,可以使用`getScriptEngine()`方法获取JavaScript引擎,从而调用JS函数。 让我们深入到例子中,假设我们有一个名为...

    JavaScript linq.min.js

    JavaScript中的linq.min.js是一个基于.NET LINQ概念的开源库,它允许开发者在JavaScript环境中使用类似于C#的查询表达式。这个库提供了丰富的集合操作方法,使得JavaScript编程更加高效和可读,尤其对于处理大量数据...

    js压缩加密工具JSCompress

    附带的`软件说明.url`和`多多软件站-提供绿色软件和热门单机游戏下载.url`是链接,分别指向软件的详细说明页面和一个软件下载网站,用户可以通过这些链接获取更多关于JSCompress的信息或者寻找其他有用的开发工具。...

    wps-excel办公+JS宏编程教程基础到进阶+函数使用手册

    JS宏在WPS中的应用类似于MS Office中的VBA,它具有语法简洁、执行速度快、代码编写快捷等优点,尤其对于有VBA经验的用户来说,转换到JS宏的学习曲线相对平缓。 课程首先探讨了为何要学习JS宏。JS宏不仅适合于数据...

    js中关于hex的各种转换,包含双精度浮点转换

    int与hex互转,double、float与hex互转,string与hex互转,个人总结,不需要积分。

    关于JS定时器(setTimeout setInterval)定时不准问题1

    关于JS定时器(setTimeout setInterval)定时不准问题1 在JavaScript中,setTimeout和setInterval是两个基本的定时器函数,用于实现延迟执行或循环执行某个函数。然而,这两个函数在执行时往往和我们设置的延迟时间...

Global site tag (gtag.js) - Google Analytics