什么';这两者之间的区别是什么;javascript:&引用;及;javascript:";在href属性中?

什么';这两者之间的区别是什么;javascript:&引用;及;javascript:";在href属性中?,javascript,html,Javascript,Html,锚定href属性中的“javascript:;”和“javascript:”之间有什么区别?javascript:表示可用于评估javascript的伪协议。因此,它后面的一个分号等于只包含的脚本这是一个空表达式,不做任何操作javascript:之后没有任何其他内容,它是一个空脚本,也不执行任何操作。在这两种情况下,返回值都是未定义的,这一点很重要,因为javascript:url返回其他内容会导致页面内容被替换为返回的内容 但是,您根本不应该使用javascript:url——它们已被弃用。

锚定
href
属性中的“javascript:;”和“javascript:”之间有什么区别?

javascript:
表示可用于评估javascript的伪协议。因此,它后面的一个分号等于只包含
的脚本这是一个空表达式,不做任何操作<代码>javascript:
之后没有任何其他内容,它是一个空脚本,也不执行任何操作。在这两种情况下,返回值都是
未定义的
,这一点很重要,因为
javascript:
url返回其他内容会导致页面内容被替换为返回的内容


但是,您根本不应该使用
javascript:
url——它们已被弃用。如果没有非js版本的链接,请使用
onclick
和有用的href或
#
。不过,请记住在这种情况下要避免默认事件。

javascript:
告诉您将出现一个javascript语句,而不是指向另一个页面的链接。
是javascript语句。然而,
不会执行任何操作,因此这是不可操作的。

与空Javascript文件和只有
的Javascript文件之间的区别相同

没什么:

eval("");
//undefined
eval(";");
//undefined

当从左到右解析程序时 遇到令牌的输入流,并且解析器无法 将输入令牌流解析为单个完整的ECMAScript程序, 然后在输入的末尾自动插入分号 小溪

所以,空文件将是一个无效的程序,然后自动插入分号,它就等于一个只有分号的程序

我刚刚想到,这是prooves JSON不是Javascript子集的又一个例子:空JSON无效:

JSON.parse("");
//SyntaxError: Unexpected end of input
eval("");
//undefined

:p
javascript:
javascript:
和附加分号。除此之外,没有区别。

第一个有分号,第二个没有。想知道相似性吗?谢谢你的回答,我只想纠正你,页面内容没有被
javascript:
返回的内容替换,请尝试
javascript:10
javascript:'google.com'
,它不会做任何事。我也不同意不应该使用javascript:,因为总是有可能有人会忘记
返回false将抛出异常,您将遇到一个令人讨厌且难以理解的错误。-它将替换为表达式的结果。。。如果您足够早地
preventDefault()
抛出异常将不会是问题(如果应该无条件地执行,我通常在事件处理程序的第一行中执行该操作),在哪里替换它?我什么也看不到,单击根本不做任何事情,什么也没发生。也许不是所有的浏览器都这样做。在firefox中,我最终显示的是
10
,而不是之前的内容。