技術(shù)頻道導(dǎo)航
HTML/CSS
.NET技術(shù)
IIS技術(shù)
PHP技術(shù)
Js/JQuery
Photoshop
Fireworks
服務(wù)器技術(shù)
操作系統(tǒng)
網(wǎng)站運(yùn)營(yíng)

贊助商

分類(lèi)目錄

贊助商

最新文章

搜索

javascript:void()函數(shù)方法的解釋

作者:admin    時(shí)間:2021-9-20 10:25:34    瀏覽:

void 這個(gè)術(shù)語(yǔ)在編程中使用時(shí),指的是“無(wú)”的返回 - 可以說(shuō)是“空值”。當(dāng)函數(shù)為空時(shí),意味著該函數(shù)不返回任何內(nèi)容。這類(lèi)似于 JavaScript 中undefined顯式返回的函數(shù),如下所示:

function und() {
  return undefined
}
und()

或隱含地,像這樣:

function und() {
}
und()

無(wú)論上述函數(shù)中的表達(dá)式和語(yǔ)句如何,都沒(méi)有返回結(jié)果。

那么,什么是 javascript:void(0) 呢?

如果我們把它分開(kāi),我們有javascript:void(0)。讓我們更詳細(xì)地看一下每個(gè)部分。

javascript:

這稱(chēng)為偽 URL。當(dāng)瀏覽器接收到此值作為href錨標(biāo)記上的值時(shí),它會(huì)解釋冒號(hào) (:) 后面的 JS 代碼,而不是將該值視為引用路徑。

例如:

<a href="javascript:console.log('javascript');alert('javascript')">Link</a>

單擊“鏈接”時(shí),結(jié)果如下:

 

如上所示,瀏覽器不會(huì)將其href視為引用路徑。相反,它將其視為一些 JavaScript 代碼,以“javascript:”開(kāi)頭并以分號(hào)分隔。 

void(0)

void 運(yùn)算符計(jì)算給定的表達(dá)式并返回undefined

例如:

const result = void(1 + 1);
console.log(result);
// undefined

1 + 1被評(píng)估但undefined被返回。為了證實(shí)這一點(diǎn),這是另一個(gè)例子:

<body>
  <h1>Heading</h1>
  <script>
        void(document.body.style.backgroundColor = 'red',
             document.body.style.color = 'white'
        )
  </script>
</body>

上面代碼的結(jié)果是:

這是另一個(gè)例子:

console.log(void(0) === undefined)
// true

結(jié)合javascript:void(0)

有時(shí),你不希望鏈接導(dǎo)航到另一個(gè)頁(yè)面或重新加載頁(yè)面。使用javascript:,你可以運(yùn)行不會(huì)更改當(dāng)前頁(yè)面的代碼。

這與void(0)一起使用,什么都不做- 不要重新加載,不要導(dǎo)航,不要運(yùn)行任何代碼。

例如:

<a href="javascript:void(0)">Link</a>

“鏈接”一詞被瀏覽器視為鏈接。例如,它是可聚焦的,但它不會(huì)導(dǎo)航到新頁(yè)面。

0是一個(gè)傳遞給void的參數(shù),它什么都不做,什么都不返回。

JavaScript 代碼(如上所示)也可以作為參數(shù)傳遞給void方法。這使得鏈接元素運(yùn)行一些代碼,但它維護(hù)相同的頁(yè)面。

例如:

<a id='link' href="javascript:void(
  document.querySelector('#link').style.color = 'green'
)">Link</a>

單擊按鈕時(shí),結(jié)果如下:

 

使用void,它告訴瀏覽器不要返回任何東西(或 return undefined)。

帶有javascript:void(0)引用的鏈接的另一個(gè)用例是,有時(shí)鏈接可能會(huì)在后臺(tái)運(yùn)行一些 JavaScript 代碼,而導(dǎo)航可能是不必要的。在這種情況下,表達(dá)式將用作傳遞給void的參數(shù)。

結(jié)論

在這篇簡(jiǎn)化的文章中,我們了解了void運(yùn)算符是什么、它是如何工作的,以及它如何與鏈接屬性的javascript:偽 URL一起使用href。

這可確保頁(yè)面在單擊時(shí)不會(huì)導(dǎo)航到另一個(gè)頁(yè)面或重新加載當(dāng)前頁(yè)面。 

您可能對(duì)以下文章也感興趣

標(biāo)簽: void方法  
相關(guān)文章
    x
    • 站長(zhǎng)推薦
    /* 左側(cè)顯示文章內(nèi)容目錄 */