首页 > 编程语言 >javascript:void() 和 herf="#" 区别

javascript:void() 和 herf="#" 区别

时间:2022-11-24 12:33:16浏览次数:59  
标签:URL void javascript herf 点击 此处

javascript:void(0) 和 herf="#" 区别

本文内容参考菜鸟教程(大部分都是原文内容)原文地址

javascript:void(0) 的含义

我们经常会使用到 javascript:void(0) 这样的代码,那么在 javascript 中 javascript:void(0) 中代表的是什么呢?

javascript:void(0) 中最关键的是 void 是JavaScript 中非常重要的关键字,操作符指定计算一个表达式但是不返回值。

语法格式如下:

  void function()
  javascript:void func()

或者

  void (func())
  javascript:void(fuc())

举例:下面的超链接,点击不会发生任何事。

  <a href="javascript:void(0)">单击此处什么也不会发生 </a>

当用户链接时,void(0) 计算为0,但 JavaScript 没有任何效果。

也可以像下面:

  <a href="javascript:void(alert('测试'))">单击此处什么也不会发生 </a>

返回值的情况:undefined

  var a = void(5)

herf="#"

# 包含了一个位置信息,默认的锚是 #top 网页顶端。页面很长的时候可以使用 # 来定位页面的具体位置,格式为: #+id 。

  <!-- 点击链接,跳到页面里的 id 为 pos 的位置-->
  <a herf='#pos'>点击定位到指定的位置</a>
  <br/>
  ...
  <br/>
<p id='pos' >尾部定位点<p/>

herf="#" 和 JavaScript:void(0)的区别

javascript:void(0) 是一个死链接。

herf="#" 可以定位到页面的指定位置。

总结 + 补充

void() 仅仅只是不返回任何值而已,但是括号内的表达式还是会运行。

// 阻止链接跳转,URL不会有任何变化
<a href="javascript:void(0)" rel="nofollow ugc">点击此处</a>

// 虽然阻止了链接跳转,但URL尾部会多个#,改变了当前URL。(# 主要用于配合 location.hash)
<a href="#" rel="nofollow ugc">点击此处</a>

// 同理,# 可以的话,? 也能达到阻止页面跳转的效果,但也相同的改变了URL。(? 主要用于配合 location.search)
<a href="?" rel="nofollow ugc">点击此处</a>

// Chrome 中即使 javascript:0; 也没变化,firefox中会变成一个字符串0
<a href="javascript:0" rel="nofollow ugc">点击此处</a>

标签:URL,void,javascript,herf,点击,此处
From: https://www.cnblogs.com/kobedu/p/16921467.html

相关文章

  • 在JavaScript中使用filter()的4个实用案例
    英文| https://medium.com/javascript-in-plain-english/4-practical-use-cases-of-using-filter-in-javascript-db46e2ec83b2翻译|web前端开发创建一个包含给定数组元......
  • 9 个功能强大的 JavaScript 技巧
    英文|https://dev.to/razgandeanu/9-extremely-powerful-javascript-hacks-4g3p​1、全部替换我们知道string.replace() 函数仅替换第一次出现的情况。你可以通过在正则......
  • JavaScript 面向对象(五)原型链
     5.原型链prototype原型'每一个构造函数都有一个属性叫做prototype,指向一个对象,'当这个构造函数被new的时候,它的每一个实例(即将生成的对象)的__proto__属性,也指向......
  • JavaScript 面向对象(番外)JS字面量
    javascript字面量在JavaScript里面,字面量包括:字符串字面量(stringliteral)、数组字面量(arrayliteral)和对象字面量(objectliteral),另外还有函数字面量(function......
  • JavaScript 面向对象(一)对象
    字面量’字面量表示如何表达这个值,一般除去表达式,给变量赋值时,等号右边都可以认为是字面量。字面量分为字符串字面量(stringliteral)、数组字面量(arrayliteral)和对......
  • JavaScript--href调用JS方法和href="#"与href="javascript:void(0)"
    关于href属性<a>标签的href属性用于指定超链接目标的URL。超链接的URL可能的值:绝对URL-指向另一个站点(比如href="http://www.example.com/index.htm")相......
  • JavaScript 面向对象 番外笔记
    小笔记JS输出空格解决方法:1、使用输出html标签 document.write("&nbsp;&nbsp;"+"1"+"&nbsp;&nbsp;&nbsp;&nbsp;"+"23");结果:1232、使用CSS样式document.w......
  • JavaScript 面向对象(番外)JS原始类型和引用类型
    书摘来自异步社区《JavaScript面向对象精要》一书中的第1章,第1.1节第1章原始类型和引用类型大多数开发者在使用Java或C#等基于类的语言的过程中学会了面向对象编程。由......
  • JavaScript 面向对象 番外 Object.defineProperty()
     注意,如果描述符中的某些属性被省略,会使用以下默认规则: ......
  • javascript-代码随想录训练营day8
    344.反转字符串题目链接:https://leetcode.cn/problems/reverse-string/题目描述:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组s的形式给出。......