首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在transcrypt中测试未定义的

如何在transcrypt中测试未定义的
EN

Stack Overflow用户
提问于 2018-02-14 18:46:28
回答 1查看 120关注 0票数 1

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

例如,查看jquery扩展是否可用。下一行返回浏览器控制台中未定义的内容:

$("#myid").toc

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

getattr(S ("#myid")、"toc")为空

但这不起作用

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-14 19:31:52

下列措施将起作用:

HTML:

代码语言:javascript
复制
<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>

跨地窖:

代码语言:javascript
复制
__pragma__ ('alias', 'S', '$')

print (111, getattr (S ('#myid') [0], 'style') != None)
print (222, getattr (S ('#myid') [0], 'toc') != None)

console.dir (S ('#myid') [0])

它打印:

代码语言:javascript
复制
111 True
222 False
div#myid

作为一种选择,您可以始终在Transcrypt中嵌入JS:

代码语言:javascript
复制
__pragma__ ('js', '{}', '''
   console.log (333, $("#myid")[0].style != undefined);
   console.log (444, $("#myid")[0].toc != undefined);
''')

其中的指纹:

代码语言:javascript
复制
333 true
444 false

顺便说一下,我更喜欢Python语法。但是在边缘情况下,JS总是作为一种逃避而存在,尽管您可能永远不需要它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48794194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档