JavaScript????????????????
???????????? ???????[ 2015/8/11 10:55:05 ] ????????WEB???? ???????
??????????????????????????????????????????????Щ?????????????????JavaScript????????????????JavaScript??д???????????????????????????д?????????????Щ??????????????????????????????????????????????????????????????????Ч???????Щ?????????????????????????????????????????Ч???????????????????????????Щ??????????????“???????”??????????????????AngularJS????????????????????????????????????????????????????????????????????????????????PHP???????????á?????????????????????????????????????У?????????????JavaScript?е??????????????????????????α?д“?????????”?????
????????趨
?????????????????????????顣??????????????????Ajax???????????????????????????·?ɡ?
????var service = function() {
????return { name: 'Service' };
????}
????var router = function() {
????return { name: 'Router' };
????}
??????????????д?????????????????????????????????飺
????var doSomething = function(other) {
????var s = service();
????var r = router();
????};
?????????????????????????????Щ?????????????????????????????????????????????????????????????????????????????????????ò?????????????????????????????ServiceXML????ServiceJSON?????????????????????????????????????Щ????????????????????????????????????????????????????????????????????????????????????????????????????????
????var doSomething = function(service?? router?? other) {
????var s = service();
????var r = router();
????};
???????????????У???????????????????????????顣?????????????????μ????????????????????粿?????????doSomething???????????????????????????????????????????????????е?????????????????????????????????????????δ?????????????????????顣??????????????????????????????????????????????????????
????????????????????????
???????????????y??????????????????????????????????????
???????????????????ü????
????????????????????????????????
????????????????????????????????????????????????????????
????requirejs/AMD????
?????????????????????????????requirejs???????????????????????????????
????define(['service'?? 'router']?? function(service?? router) {
????// ...
????});
????requirejs????????????????????????????????飬????д???????????????У?????????????????????????????д???????injector????飬?????????????????
????var doSomething = injector.resolve(['service'?? 'router']?? function(service?? router?? other) {
????expect(service().name).to.be('Service');
????expect(router().name).to.be('Router');
????expect(other).to.be('Other');
????});
????doSomething("Other");
????????????????????????????????doSomething??????????????????expect.js?????????????????????????????????????TDD(????????????)?????
????????????????????д?????injector??顣?????????????????壬??????????????????????????????????????
????var injector = {
????dependencies: {}??
????register: function(key?? value) {
????this.dependencies[key] = value;
????}??
????resolve: function(deps?? func?? scope) {
????}
????}
?????????????????????????????????????????????洢????????????????????????????deps???飬?????dependencies???????????????????????????.apply?????????????????func??????
????resolve: function(deps?? func?? scope) {
????var args = [];
????for(var i=0; i<deps.length?? d=deps[i]; i++) {
????if(this.dependencies[d]) {
????args.push(this.dependencies[d]);
????} else {
????throw new Error('Can't resolve ' + d);
????}
????}
????return function() {
????func.apply(scope || {}?? args.concat(Array.prototype.slice.call(arguments?? 0)));
????}
????}
?????????????????????????????????????????????С?
??????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11