zoukankan      html  css  js  c++  java
  • 为自己写程序之JavsScript代码段测试器

    JavaScript的测试,通常是在Firefox的firebug插件中测试的。不过有时只是测试几行代码都要写一个html,再打开浏览器测试运行结果,感觉并不是很方便。

    今天花了点时间做了一个简易的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)要看工作情况和自己的兴趣是否允许了。

  • 相关阅读:
    Java修饰符
    java中接口的定义
    抽象类
    final关键字的特点
    hdu6489 2018 黑龙江省大学生程序设计竞赛j题
    POJ 3268 (dijkstra变形)
    poj 2253 floyd最短路
    poj1681 Network
    bzoj1202 狡猾的商人
    Nastya Is Buying Lunch
  • 原文地址:https://www.cnblogs.com/hjblog/p/2079005.html
Copyright © 2011-2022 走看看