Object Function

万物皆对象

曾经尝试过写类似于 jQuery 的库[1],后来失败了,因为当时不明白Object Function 的概念

最近,才发现有这么个东西

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function func(arg){
var method = {
'methodTest': function (){
hCon.log('This is methodText: '+arg);
}
};
return method;
}
func.objMethod = function (){
hCon.log( 'this is Object Function' );
};
func('哦是吗').methodTest();
func.objMethod();

是不是有点像jQuery了?没错,jQuery 也是这样的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
function createObjFunc(){
function method(){
this.theAlert = function (str){
return alert(str);
}
}
function domMethod(ele){
this.setText = function( str ){
for ( var i in Object.keys(ele) ){
if ( ele[i].innerText !== undefined ){
ele[i].innerText = str;
}else{
ele[i].textContent = str;
}
}
};
}
function func(str){
if ( typeof str === 'string' )
var domArr = document.querySelector(str);
else
var domArr = [str];
domArr.__proto__ = new domMethod(domArr);
return domArr;
}
func.__proto__ = new method;
return func;
}
var $ = createObjFunc();
$.theAlert ('哦是吗');
$( hCon.log('哦是吗') ).setText('对,没错');

##话说回来

所以呢,我还能说些什么呢?

Doremy Sweet


  1. 类似 $.ajax / $.post 和 $('body') 之类的 ↩︎