当前位置:
凯发ag旗舰厅登录网址下载 >
前端技术
> javascript
>内容正文
javascript
微软自家的.net下的javascript引擎——clearscript -凯发ag旗舰厅登录网址下载
凯发ag旗舰厅登录网址下载
收集整理的这篇文章主要介绍了
微软自家的.net下的javascript引擎——clearscript
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
之前我介绍过一个开源的.net下的javascript引擎javascript .net,今天发现微软自己也开源了一个javascript引擎——clearscript(当然,也支持vb script)。
由于是微软发布的,基本上没有什么好挑剔的地方,稳定而强大,不过不支持winrt。下面这个则是官方示例,就不做更多介绍了,感兴趣的朋友可以去codeplex看下。
1 using system; 2 using microsoft.clearscript; 3 using microsoft.clearscript.v8; 4 5 // create a script engine 6 using (var engine = new v8scriptengine()) 7 { 8 // expose a host type 9 engine.addhosttype("console", typeof(console)); 10 engine.execute("console.writeline('{0} is an interesting number.', math.pi)"); 11 12 // expose a host object 13 engine.addhostobject("random", new random()); 14 engine.execute("console.writeline(random.nextdouble())"); 15 16 // expose entire assemblies 17 engine.addhostobject("lib", new hosttypecollection("mscorlib", "system.core")); 18 engine.execute("console.writeline(lib.system.datetime.now)"); 19 20 // create a host object from script 21 engine.execute(@" 22 birthday = new lib.system.datetime(2007, 5, 22); 23 console.writeline(birthday.tolongdatestring()); 24 "); 25 26 // use a generic class from script 27 engine.execute(@" 28 dictionary = lib.system.collections.generic.dictionary; 29 dict = new dictionary(lib.system.string, lib.system.int32); 30 dict.add('foo', 123); 31 "); 32 33 // call a host method with an output parameter 34 engine.addhostobject("host", new hostfunctions()); 35 engine.execute(@" 36 intvar = host.newvar(lib.system.int32); 37 found = dict.trygetvalue('foo', intvar.out); 38 console.writeline('{0} {1}', found, intvar); 39 "); 40 41 // create and populate a host array 42 engine.execute(@" 43 numbers = host.newarr(lib.system.int32, 20); 44 for (var i = 0; i < numbers.length; i ) { numbers[i] = i; } 45 console.writeline(lib.system.string.join(', ', numbers)); 46 "); 47 48 // create a script delegate 49 engine.execute(@" 50 filter = lib.system.func(lib.system.int32, lib.system.boolean); 51 oddfilter = new filter(function(value) { 52 return (value & 1) ? true : false; 53 }); 54 "); 55 56 // use linq from script 57 engine.execute(@" 58 oddnumbers = numbers.where(oddfilter); 59 console.writeline(lib.system.string.join(', ', oddnumbers)); 60 "); 61 62 // use a dynamic host object 63 engine.execute(@" 64 expando = new lib.system.dynamic.expandoobject(); 65 expando.foo = 123; 66 expando.bar = 'qux'; 67 delete expando.foo; 68 "); 69 70 // call a script function 71 engine.execute("function print(x) { console.writeline(x); }"); 72 engine.script.print(datetime.now.dayofweek); 73 74 // examine a script object 75 engine.execute("person = { name: 'fred', age: 5 }"); 76 console.writeline(engine.script.person.name); 77 } view code
转载于:https://www.cnblogs.com/tianfang/p/3470230.html
创作挑战赛新人创作奖励来咯,坚持创作打卡瓜分现金大奖总结
以上是凯发ag旗舰厅登录网址下载为你收集整理的微软自家的.net下的javascript引擎——clearscript的全部内容,希望文章能够帮你解决所遇到的问题。
如果觉得凯发ag旗舰厅登录网址下载网站内容还不错,欢迎将凯发ag旗舰厅登录网址下载推荐给好友。
- 上一篇:
- 下一篇: