$(selector);
我们也可以将其用作对象,例如:
$.post(...);
我试图了解这是如何完成的(以及JavaScript的工作原理)。浏览器说typeof($)(当$表示jQuery时)是“函数”。谁能给我一个最简单的可能的代码(用纯[纯] JS),其中一个定义了一些变量(可以引用JS中的函数,对象或其他任何东西),比方说jQ,这样两个代码:
jQ(some_args);
以及
jQ.method(args);
是正确的并且可以按照我们的意愿工作吗?例如,让jQ(selector)返回与选择器兼容的DOM对象的集合;然后让jQ.wri(text)起作用:console.log(wri)。我对一个不太复杂的示例感兴趣。预先感谢您的回答。
function Foo (argument) {
console.log("called main Foo with", argument)
}
Foo.bar = function (bargument) {
console.log("called bar with", bargument)
}
Foo('hello')
Foo.bar('is it me you ar looking for?')
您还可以使用Object.defineProperty
在属性上设置更多元数据,例如可修改或可枚举等。函数在大多数方面都是javascript中的对象,如您所见,具有可修改的属性。您可以使用
Object.defineProperty
或seal
对象来防止添加或更改属性,但是默认情况下不密封功能。数字也具有属性,但是默认情况下会被密封/冻结。函数是其他对象的特殊功能,因为它们是使对象“可调用”的唯一方法,这大概就是为什么它们没有数组seal
freeze
的原因。