??д??????JavaScript????
???????????? ???????[ 2016/6/2 15:03:04 ] ????????Javascript web????
????Templater ?????е????????? supplant??????????????????????????????????????????????? QUnit ???????????????????????????????????????????????????????? .render() ??????????????????壬?????????????????????? defineTemplate ??????Ч??????????????????????? getTemplate() ???????????????????????????н?????????????????????????????????????????????????????????????????????????????????????з??????????????????????????????????????????????汾??
????JavaScript
????function Templater() {
????this._templates = {};
????}
????Templater.prototype = {
????_supplant: function(str?? params) {
????for (var prop in params) {
????str.split("{" + prop +"}").join(params[prop]);
????}
????return str;
????}??
????render: function(name?? params) {
????if (typeof this._templates[name] !== "string") {
????throw "Template " + name + " not found!";
????}
????return this._supplant(this._templates[name]?? params);
????}??
????defineTemplate: function(name?? template) {
????this._templates[name] = template;
????}
????};
????function Templater() {
????this._templates = {};
????}
????Templater.prototype = {
????_supplant: function(str?? params) {
????for (var prop in params) {
????str.split("{" + prop +"}").join(params[prop]);
????}
????return str;
????}??
????render: function(name?? params) {
????if (typeof this._templates[name] !== "string") {
????throw "Template " + name + " not found!";
????}
????return this._supplant(this._templates[name]?? params);
????}??
????defineTemplate: function(name?? template) {
????this._templates[name] = template;
????}
????};
?????????????? QUnit ?????????
????JavaScript
????module("Templater");
????test("_supplant"?? function() {
????var templater = new Templater();
????equal(templater._supplant("{foo}"?? {foo: "bar"})?? "bar"))
????equal(templater._supplant("foo {bar}"?? {bar: "baz"})?? "foo baz"));
????});
????test("defineTemplate"?? function() {
????var templater = new Templater();
????templater.defineTemplate("foo"?? "{foo}");
????equal(template._templates.foo?? "{foo}");
????});
????test("render"?? function() {
????var templater = new Templater();
????templater.defineTemplate("hello"?? "hello {world}!");
????equal(templater.render("hello"?? {world: "internet"})?? "hello internet!");
????});
????module("Templater");
????test("_supplant"?? function() {
????var templater = new Templater();
????equal(templater._supplant("{foo}"?? {foo: "bar"})?? "bar"))
????equal(templater._supplant("foo {bar}"?? {bar: "baz"})?? "foo baz"));
????});
????test("defineTemplate"?? function() {
????var templater = new Templater();
????templater.defineTemplate("foo"?? "{foo}");
????equal(template._templates.foo?? "{foo}");
????});
????test("render"?? function() {
????var templater = new Templater();
????templater.defineTemplate("hello"?? "hello {world}!");
????equal(templater.render("hello"?? {world: "internet"})?? "hello internet!");
????});
???????????ж? render ???????????????? defineTemplate ?? supplant ???????????????????????????????????Щ?????????????????????????? render ??????????????????????μ??
??????д???????????????
???????κ??????У???????????????????????JavaScript ???????????????????? JavaScript ????????????????????????????????????????????????????磬?????????з??????????? window.location ???????????? URL rewriter ?????????????????????????????????????????????????????????????д?????????????????????????????????????Щ??????????????????????? window.location ?????????????????????????????????????????
???????????????????????漰???????????????????SPASVOС??(021-61079698-8054)?????????????????????????
??????
Web?????????????????Web????????????????Docker Compose???????Web???????WEB?????ΧС??APP??????WEB????WEB???????????????WEB??????APP?????????Web??????????Web????????????Linux?????′?Java Web???????WEB?????ΧWeb?????Χ???Web??????????????HTTP(1)????Э??Web?????е?A/B?????????????????Web??????????Web??????ò?????????
???·???
??????????????????
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????????
?????????App Bug???????????????????????Jmeter?????????QC??????APP????????????????app?????е????????jenkins+testng+ant+webdriver??????????????JMeter????HTTP???????Selenium 2.0 WebDriver ??????