日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JavaScript中的this妙用

發布時間:2025/3/18 javascript 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaScript中的this妙用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JavaScript關鍵字this始JS腳本能夠根據使用這個關鍵字的上下文將值傳遞給函數。
我們先來看如下一個網頁,在用戶單擊鏈接之后,彈出一個alert框,然后再轉到href屬性所指的網頁
HTML:

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>JavaScript中的this妙用</title><script type="text/javascript" src="js/script.js"></script> </head> <body><p style="text-algin:center;">你好,點擊這里去<a id="redirect" href="http://www.mybry.com/obj/store/list.html">舊物商店</a></p> </body> </html>

JS:

window.onload = initAll; function initAll(){document.getElementById("redirect").onclick = initRedirect; } function initRedirect(){alert("這是我創建的舊物商城,歡迎訪問!");window.location = this;return false; }

在線演示

你可能會主要到,代碼中并沒有引用特定的網頁——這是this關鍵字的作用之一。this替我們完成的工作之一是從HTML鏈接獲得URL(也就是a標簽的href屬性)。由于采用這種方式,如果以后腳本改為指向其他的頁面而不是舊物商店頁面,就不必修改JS。實際上,可以讓WEB站點上的所有鏈接都調用這個相同的JS代碼,這一行代碼都會自動獲得相應的href值。
這樣寫還有一個好處:如果用戶的瀏覽器不理解JavaScript(比如禁用了JS),那么它只會加載HTML頁面,而不顯示alert提示,當他們點擊鏈接時,會像一般情況下那樣加載頁面,不會發生錯誤,沒有任何問題。
我們在來看一個switch/case例子,創建如下頁面:


HTML:

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>JavaScript中的this妙用</title><script type="text/javascript" src="js/script.js"></script> </head> <body><h2>閑置二手圖書</h2><form action="#"><input type="button" id="Java" value="Java" /><input type="button" id="JavaScript" value="JavaScript" /><input type="button" id="MySQL" value="MySQL" /><input type="button" id="Html" value="HTML5" /></form> </body> </html>

JS:

window.onload = initAll; function initAll(){document.getElementById("Java").onclick = viewDetail;document.getElementById("JavaScript").onclick = viewDetail;document.getElementById("MySQL").onclick = viewDetail;document.getElementById("Html").onclick = viewDetail; } function viewDetail(){console.log("this.id="+this.id);switch(this.id){case "Java" : alert("《Java程序員基本功》這本書是李剛寫的,在我的商店售價30元!");break;case "JavaScript" : alert("《JavaScript語言精粹》這本書是Yahoo的一位工程師寫的,在我的商店售價15元!");break;case "MySQL" : alert("《MySQL入門很簡單》這本書附帶關盤,這個年代其實沒什么卵用了,它在我的商店售價28元!");break;case "Html" : alert("《HTML5秘籍》這本書是圖靈系統的圖書,非常值得擁有,它在我的商店售價25元,賣的非常好!");break;default : alert("沒有這本書");} }

在線演示
直接用this.id作為switch的參數也是可以的。

總結

以上是生活随笔為你收集整理的JavaScript中的this妙用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。