为自己写程序之JavsScript代码段测试器
生活随笔
收集整理的這篇文章主要介紹了
为自己写程序之JavsScript代码段测试器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
JavaScript的測試,通常是在Firefox的firebug插件中測試的。不過有時只是測試幾行代碼都要寫一個html,再打開瀏覽器測試運行結果,感覺并不是很方便。
????{
????????IronJS.Hosting.CSharp.Context?ctx?=?new?IronJS.Hosting.CSharp.Context();
????????public?MainWindow()
????????{
????????????InitializeComponent();
????????????SetPrint();
????????}
????????private?void?button1_Click(object?sender,?RoutedEventArgs?e)
????????{
????????????try
????????????{
????????????????textBox2.Clear();
????????????????ctx.Execute(textBox1.Text);
????????????}
????????????catch?(Exception?ex)
????????????{
????????????????string?err?=?ex.Message;
????????????????while?(ex.InnerException!=null)
????????????????{
????????????????????ex?=?ex.InnerException;
????????????????????err? =?"\r\n"? ?ex.Message;
????????????????}
????????????????textBox2.Text?=?err;
????????????}
????????}
????????void?SetPrint()
????????{
????????????//?Effectively?the?same?as?context.CreatePrintFunction()?:-)
????????????var?print?=?IronJS.Native.Utils.createHostFunction<Action<IronJS.BoxedValue>>(ctx.Environment,
????????????????delegate(IronJS.BoxedValue?str)
????????????????{
????????????????????textBox2.Text?=?str.ClrBoxed.ToString();
????????????????});
????????????ctx.SetGlobal("print",?print);
????????}
????}
更多專業前端知識,請上 【猿2048】www.mk2048.com
今天花了點時間做了一個簡易的JS片段測試器。其實這主要是看了IronJs開源項目以后,才有了這個想法。 得益于JS在.net平臺下的執行引擎IronJS的幫助,
這個測試器的實現真是不費吹灰之力。IronJS還是蠻強大的,據說能夠成功編譯JQuery。不過需要.net 4.0和DLR的支持,自己用無所謂了。
?
代碼如下:
?
View Code ??public?partial?class?MainWindow?:?Window????{
????????IronJS.Hosting.CSharp.Context?ctx?=?new?IronJS.Hosting.CSharp.Context();
????????public?MainWindow()
????????{
????????????InitializeComponent();
????????????SetPrint();
????????}
????????private?void?button1_Click(object?sender,?RoutedEventArgs?e)
????????{
????????????try
????????????{
????????????????textBox2.Clear();
????????????????ctx.Execute(textBox1.Text);
????????????}
????????????catch?(Exception?ex)
????????????{
????????????????string?err?=?ex.Message;
????????????????while?(ex.InnerException!=null)
????????????????{
????????????????????ex?=?ex.InnerException;
????????????????????err? =?"\r\n"? ?ex.Message;
????????????????}
????????????????textBox2.Text?=?err;
????????????}
????????}
????????void?SetPrint()
????????{
????????????//?Effectively?the?same?as?context.CreatePrintFunction()?:-)
????????????var?print?=?IronJS.Native.Utils.createHostFunction<Action<IronJS.BoxedValue>>(ctx.Environment,
????????????????delegate(IronJS.BoxedValue?str)
????????????????{
????????????????????textBox2.Text?=?str.ClrBoxed.ToString();
????????????????});
????????????ctx.SetGlobal("print",?print);
????????}
????}
?
程序截圖:
?
(vs2010工程)源代碼下載
?
以前寫了個鬧鐘程序,不知道大家是否喜歡,反正我用著還行,可能是自己的孩子看著順眼吧。今天閑著無事又寫了個這個,我主要用來在看JS代碼時,
不明白了,復制上運行下,看看結果,知道js還能這么寫。希望大家能夠喜歡吧!
??
Todo:
1、利用sharpdevelop的AvolenEdit控件實現JS語法高亮和變色。(已完成)
?
語法著色版下載
2、再次利用IronJS的JS解析器做個代碼自動完成
3、做成JS的IDE了.....
(2和3)要看工作情況和自己的興趣是否允許了。
更多專業前端知識,請上 【猿2048】www.mk2048.com
總結
以上是生活随笔為你收集整理的为自己写程序之JavsScript代码段测试器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mat-form-field must
- 下一篇: js判断对象类型