如何测试未定义



我需要测试是否存在JavaScript对象属性。

例如,查看是否有jQuery扩展名。下一行返回浏览器控制台中未定义的:

$("#myid"(。toc

我想在transcrypt中测试此值,我尝试了:

getAttr(s(" #myid"(," toc"(是无

但行不通: -/

以下将有效:

html:

<html>
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>    
    </head>
    <body>
        <div id="myid"></div>
        <script src="__javascript__/test.js"></script>
    </body>
</html>

thersCrypt:

__pragma__ ('alias', 'S', '$')
print (111, getattr (S ('#myid') [0], 'style') != None)
print (222, getattr (S ('#myid') [0], 'toc') != None)
console.dir (S ('#myid') [0])

它打印:

111 True
222 False
div#myid

作为替代方案,您总是可以将JS嵌入到thresscrypt中:

__pragma__ ('js', '{}', '''
   console.log (333, $("#myid")[0].style != undefined);
   console.log (444, $("#myid")[0].toc != undefined);
''')

打印:

333 true
444 false
顺便说一句,我更喜欢python语法。但是在边缘情况下,JS总是作为逃生,尽管您可能永远不需要它。

相关内容

  • 没有找到相关文章

最新更新