万物皆对象
曾经尝试过写类似于 jQuery
的库[1],后来失败了,因为当时不明白Object Function
的概念
最近,才发现有这么个东西
12345678910111213141516171819function 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
也是这样的
12345678910111213141516171819202122232425262728293031323334353637function 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('对,没错');
##话说回来
所以呢,我还能说些什么呢?
类似 $.ajax / $.post 和 $('body') 之类的 ↩︎