JavaScript中的this有何作用,有什么妙用呢
Admin 2022-09-14 群英技术资讯 252 次浏览
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" rel="external nofollow" >旧物商店</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有何作用,有什么妙用呢”的内容今天就到这,感谢各位的阅读,大家可以动手实际看看,对大家加深理解更有帮助哦。如果想了解更多相关内容的文章,关注我们,群英网络小编每天都会为大家更新不同的知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要为大家详细介绍了如何利用JavaScript语言实现无缝轮播功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
这篇文章主要为大家详细介绍了vue实现简单的购物车小案例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
一.使用插件1.NodeJs自带的加密插件:crypto文档:https://nodejs.org/api/crypto.html可以用来将用户密码加密再存入数据库//随机生成加密token的密匙,用于jwt加密密匙lettokenSecret=crypto.randomBytes(16).toString('hex'), 2.用于生成token的插件:jwt-si
这篇文章主要介绍了Element el-button 按钮组件的使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
目录vue-cli3配置全局scss报错vue-cli3配置全局scss变量1. 找到vue.config.js文件2. 在文件内编写如下代码3. 重启项目,即可使用vue-cli3配置全局scss报错在vue.config.js配置的时候用prependData不要用datasass: { // 根据自己样式文件的
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008