为啥onclick=""引号中放置的方法后面有时候加;有时候不加啊

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥onclick=""引号中放置的方法后面有时候加;有时候不加啊相关的知识,希望对你有一定的参考价值。

例如 onclick="history.back();" 和 onclick="history.back()" 就是差一个分号,这个分号什么时候加啊?

javascript是弱语言类型,对语法检查不是很严格。但是很多浏览器对这个比较较真,有的浏览器就必须看到;才认为你是调用了一个方法。
所以严格意义上来说你还是以后都给加上。这样是肯定不会有问题的。

参考资料:自己总结

参考技术A 在Javascript语言中,一行就是一条语句,如果你要在一行写多行语句就加封号

你的例子里面都是一条语句,那么加不加都无所谓

反正你记住在javascript中换行和封号的效果是一样的就行了
参考技术B 如果只调用一个函数加不加无所谓

调用两个以上的中间就要加分号隔开

最后一个函数末尾 可以加也可以不加 应该是这样的 恩 。。。
参考技术C 可以加也可以不加, JavaScript是个非常不规范的语言..所以不是很好学。。 参考技术D 同时调用两个以上的方法时,用“;”间隔

为啥 Xaringan 幻灯片中没有出现智能引号和破折号?

【中文标题】为啥 Xaringan 幻灯片中没有出现智能引号和破折号?【英文标题】:Why are smart quotes and em-dashes not appearing in Xaringan slides?为什么 Xaringan 幻灯片中没有出现智能引号和破折号? 【发布时间】:2020-07-10 08:04:41 【问题描述】:

问题

根据文档,Xaringan 应该

    将普通引号" " 转换为智能引号“ ”,并且

    将 3 个连字符“---”的序列变成一个破折号“-”

我遇到的问题是,这些转换仅发生在 yaml 元数据中的字符串(出现在标题幻灯片中),但不会发生在普通幻灯片中的文本。

示例

文件minimal.Rmd 包含以下代码:

---
title: "\"It works, doesn't it?\" --- this is the title slide"
subtitle: "Smart quotes and em dash work in yaml"
output: 
  xaringan::moon_reader
---

# This is a normal slide

It works in the slides too, doesn't it? --- "I hope so", he said.

No, it doesn't.

编织后,我在minimal.html得到以下幻灯片:

    标题幻灯片(注意智能引号和 em-dash):

    第二张幻灯片(难看的引号和 3 个连字符):

想法

    我很确定 Xaringan 确实使用 Pandoc 来生成 html。如果过程中使用了Pandoc,默认会美化引号。

    我尝试在 yaml 元数据中使用smart: true,如RMarkdown book 所示,但没有效果。

    查看moon_reader function 的代码,我看到它调用rmarkdown::html_document 来生成html。

    这个open issue in the RMarkdown Github repository 讨论了smart: true 选项和对Pandoc 的调用中的等效选项。问题作者建议放弃 yaml 选项,让 Pandoc 来美化引号等。

    但是 Xaringan 使用 Pandoc,所以这可能是相关的吗?

我的设置

R version 3.6.3 (2020-02-29)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 18.04.4 LTS

xaringan_0.15
knitr_1.28
rmarkdown_2.1

提前感谢您的帮助。

【问题讨论】:

你是对的,对于 xaringan 幻灯片,Markdown 是通过 web 浏览器中的 remark.js 呈现的,而不是 Pandoc。 谢谢@YihuiXie。我刚刚意识到调用 pandoc 只生成标题幻灯片;这就是标题幻灯片有智能引号的原因。因此,是否需要注意美化其他幻灯片中的引号和破折号? 完全正确。 【参考方案1】:

解决方案链接

https://github.com/fnaufel/smartify

详情

毕竟,xaringanremarkjs 都不负责美化引号和破折号。

我四处寻找 Javascript 解决方案来解决我的问题,但最终决定实现我自己的。在in_header.htmlafter_body.html 中添加几行代码后,您可以加载并运行我的 Javascript hack 来智能化幻灯片中的引号和破折号。无需安装任何东西。

更多详情请访问https://github.com/fnaufel/smartify。

我希望这对其他人有用。

再次感谢@YihuiXie 的cmets。

【讨论】:

这对我很有帮助,因为前几天我还在为这种行为摸不着头脑。我一定会看看你的 GitHub 存储库。

以上是关于为啥onclick=""引号中放置的方法后面有时候加;有时候不加啊的主要内容,如果未能解决你的问题,请参考以下文章

简单的a标签onclick,为啥无效呢?求解。。。。

javascript 为啥按钮的onclick事件不触发 按了没反应

onclick="return confirm(' ')" 是啥意思为啥要加return?

为啥 JSLint 要我使用双引号而不是单引号?预期为 '"' 而看到的是 '''

Java中,char+c=‘\\‘,c输出啥,为啥?

where `id` ='".$_GET['id']."'" 最后这句为啥这么多引号?