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

贊助商

分類目錄

贊助商

最新文章

搜索

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

作者:admin    時間:2021-9-20 10:25:34    瀏覽:

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

function und() {
  return undefined
}
und()

或隱含地,像這樣:

function und() {
}
und()

無論上述函數(shù)中的表達式和語句如何,都沒有返回結(jié)果。

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

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

javascript:

這稱為偽 URL。當瀏覽器接收到此值作為href錨標記上的值時,它會解釋冒號 (:) 后面的 JS 代碼,而不是將該值視為引用路徑。

例如:

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

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

 

如上所示,瀏覽器不會將其href視為引用路徑。相反,它將其視為一些 JavaScript 代碼,以“javascript:”開頭并以分號分隔。 

void(0)

void 運算符計算給定的表達式并返回undefined

例如:

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

1 + 1被評估但undefined被返回。為了證實這一點,這是另一個例子:

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

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

這是另一個例子:

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

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

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

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

例如:

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

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

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

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

例如:

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

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

 

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

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

結(jié)論

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

這可確保頁面在單擊時不會導(dǎo)航到另一個頁面或重新加載當前頁面。 

您可能對以下文章也感興趣

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