Как можно запрограммировать глобальный объект как функцию и объект? Так же, как JQuery делает (если я правильно?)
Например:
X.foo = '';
и
X('bar');
Как можно запрограммировать глобальный объект как функцию и объект? Так же, как JQuery делает (если я правильно?)
Например:
X.foo = '';
и
X('bar');
Вы просто определить X
и X.foo
, как обычно, как это:
var X = function(a)
{
return a * 2;
}
X.foo = function(a)
{
return a + 1;
}
console.log(X(10));
console.log(X.foo(10));
Результаты в:
20
11
Функции в JavaScript являются объектами, как любой другой, и может иметь произвольные свойства. Например:
function Test() {}
Test.someProp = "test";
Вы можете подумать об этом как о переменных класса, в зависимости от вашей точки зрения.
Свидетель:
Test instanceof Object // true
function X(string){
alert(string);
}
X.foo = 10;
alert(X.foo); // Alerts "10"
X('bar'); // Alerts "bar"
Каждый FUNCT ион является объектом в Javascript:
function f(x) {
console.log(x);
}
f.foo = 1;
f('bar'); // 'bar
console.log(f.foo); // 1
function X(name)
{
if (name == 'bar')
{
// do so mething
}
}
X.foo = "hello!";
функции являются объектами в JavaScript.
function foo(txt){
alert(txt)
}
foo.text="bar"
alert(foo.text) //will give you "bar"
foo("bar") //will give you "bar" also
Чтобы быть чуть более конкретным, чем приведенные ниже ответы, функция - это всего лишь тип объекта, который может быть вызван. – Neil