単語がシンボルに相当end
し、に相当するようにJavaScript言語をどうにかして変更できますか?}
begin
{
3245 次
3 に答える
6
いいえ、できません。あなたができる最善のことは、別のスクリプトを無効type
に変更し、それを有効に変更して、効果type
を得るスクリプトを作成することです。
<script type="text/x-algolscript">
function hello() begin
alert("Hello, world!");
end
hello();
</script>
<script type="text/javascript">
Array.prototype.forEach.call(document.getElementsByTagName('script'), function(script) {
if(script.type === 'text/x-algolscript') {
var oldParent = script.parentNode;
var oldNext = script.nextSibling;
oldParent.removeChild(script);
script.textContent = script.textContent.replace(/\bbegin\b/g, '{').replace(/\bend\b/g, '}');
script.type = 'text/javascript';
oldParent.insertBefore(script, oldNext);
}
});
</script>
ただし、これは文脈に依存せず、喜んで文字列などを変更します。
おまけ:縮小され、よりブラウザと互換性のあるバージョン:
!function(s,i,t,e,l,p,o,n){for(l=s.length;i<l;i++)((e=s[i]).type==='text/x-algolscript')&&t.push(e);for(i=0;i<t.length;i++)o=(e=t[i]).parentNode,n=e.nextSibling,o.removeChild(e),p='textContent',e[p]||(p='innerText'),e[p]=e[p].replace(/\bbegin\b/,'{').replace(/\bend\b/,'}'),e.type='text/javascript',o.insertBefore(e,n)}(document.getElementsByTagName('script'),0,[]);
于 2013-04-01T00:12:52.327 に答える
5
Pascalesque Javascript を解析して従来の Javascript を出力する独自のトランスコンパイラを作成できます。begin
/という単語を角かっこに置き換えるか、Jisonend
などのより高度なものを使用することができます。
于 2013-04-01T00:15:39.547 に答える