浅析JavaScript事件和方法


Posted in Javascript onFebruary 28, 2015

单击一个超链接触发事件

1.用a标签的onclick

<a href="#" onclick="js代码">

这种写法呢,存在一种弊端,就是点击后会刷新一次页面,回到页面顶端。

想不刷新如何做的呢?

<a href="javascript:void(0)" onclick="js代码">

2.#与javascript:void(0)的区别

超链接为“死链”时,使用#与javascript:void(0);的区别。

Void(0)没有用的值,不会去任何地方,就没有意义了

而#会刷新一次当前页面。

3.再或者、用a标签的href

<a href="javascript:  js代码   ">

只有超链接的href中的JavaScript中才需要加“javascript:”,

因为它不是事件,而是把”javascript:”看成像“http:”、“ftp:”、“thunder://”、“ed2k://”、“mailto:”一样的网络协议,交由js解析引擎处理。

方法的特别强调

1.不要另起一行

一般在js中编写大括号都是直接跟在后面而不要另起一行,

原因是js会在语句末尾自动增加”分号”,如果将大括号另起一行,则return语句后自动增加“分号”后,返回值就变成了undefined了。

2.不需要声明返回值类型

不需要声明返回值类型、参数类型。函数定义以function开头。

JavaScript中不像C#和java那样要求所有路径都有返回值没有返回值就是undefined。

3.没有方法重载

JavaScript中没有方法重载。

方法中写参数叫命名参数

用户调用计算多个数的和的方法,如何获取方法中有多少个参数呢?

请使用arguments对象!

匿名函数

1.方式一

var f1=function(p1,p2){ return p1+p2; };//将函数赋值给一个变量

匿名函数没法调用,只能赋值给一个变量,由于是赋值语句,后面要加分号

应用:

document.getElementById(‘btn').onclick=function(){}

2.方式二

(function(p1,p2){alert(p1+p2);})(20,30);

3.方式三

var m1=new Function(“p1”,”p2”,”p3”,”return p1+p2+p3”);

alert(m1(1,2,3));性能低

这种匿名函数的用法在jQuery中的非常多

扩展方法prototype

通过类对象的prototype设置扩展方法,

扩展方法的声明要在使用扩展方法之前执行。JS的函数没有专门的函数默认值的语法,但是可以不给参数传值,不传值的参数值就是undefined,自己做判断来给默认值。

var msg ='xiaoming@111.com';

String.prototype.isEmail = function(){

return this.indexof('@')!= -1 ?true:false;

};

alert(msg.isEmail);

事件

1.调用事件

浅析JavaScript事件和方法

2.注册事件

一定是在页面加载完成了以后,才能给页面的元素注册事件。

所以 onload = function(){

     //在这里注册事件

};

浅析JavaScript事件和方法

页面加载事件

  <script type="text/javascript">

       //刷新

       //location.reload();

          onload=function(){

           alert("页面加载了");

          };

          onunload =function(){

           alert("页面关闭了");

          };

          onbeforeunload= function(){

             alert("页面关闭之前触发");

          };

  </script>

浅析JavaScript事件和方法

以上就是本文的全部内容了,希望能够让大家对javascript的事件和方法有新的认识

Javascript 相关文章推荐
文本框中,回车键触发事件的js代码[多浏览器兼容]
Jun 07 Javascript
javascript写的一个模拟阅读小说的程序
Apr 04 Javascript
js使用循环清空某个div中的input标签值
Sep 29 Javascript
javascript实现点击提交按钮后显示loading的方法
Jul 03 Javascript
详解jQuery向动态生成的内容添加事件响应jQuery live()方法
Nov 02 Javascript
jQuery Ajax 实现在html页面实时显示用户登录状态
Dec 30 Javascript
jquery.zclip轻量级复制失效问题
Jan 08 Javascript
jQuery移除或禁用html元素点击事件常用方法小结
Feb 10 Javascript
JavaScript mixin实现多继承的方法详解
Mar 30 Javascript
jQuery获取table表中的td标签(实例讲解)
Jul 28 jQuery
解决vue组件中使用v-for出现告警问题及v for指令介绍
Nov 11 Javascript
基于vue写一个全局Message组件的实现
Aug 15 Javascript
常用的JavaScript WEB操作方法分享
Feb 28 #Javascript
js实现点击图片改变页面背景图的方法
Feb 28 #Javascript
本人自用的global.js库源码分享
Feb 28 #Javascript
JS限制文本框只能输入数字和字母方法
Feb 28 #Javascript
javascript计时器详解
Feb 28 #Javascript
Lab.js初次使用笔记
Feb 28 #Javascript
js实现鼠标感应图片展示的方法
Feb 27 #Javascript
You might like
elgg 获取文件图标地址的方法
2010/03/20 PHP
PHP使用NuSOAP调用Web服务的方法
2015/07/18 PHP
PHP控制前台弹出对话框的实现方法
2016/08/21 PHP
Windows上php5.6操作mongodb数据库示例【配置、连接、获取实例】
2019/02/13 PHP
ThinkPHP5&amp;5.1框架关联模型分页操作示例
2019/08/03 PHP
jQuery使用手册之 事件处理
2007/03/24 Javascript
javascript new后的constructor属性
2010/08/05 Javascript
jquery 触发a链接点击事件解决方案
2013/05/02 Javascript
jquery form 加载数据示例
2014/04/21 Javascript
JS刷新父窗口的几种方式小结(推荐)
2016/11/09 Javascript
基于jQuery实现数字滚动效果
2017/01/16 Javascript
JS实现获取图片大小和预览的方法完整实例【兼容IE和其它浏览器】
2017/04/24 Javascript
AngularJS表单验证功能分析
2017/05/26 Javascript
利用nvm管理多个版本的node.js与npm详解
2017/11/02 Javascript
详解Vue中使用Echarts的两种方式
2018/07/03 Javascript
jQuery实现当拉动滚动条到底部加载数据的方法分析
2019/01/24 jQuery
Vue基于vuex、axios拦截器实现loading效果及axios的安装配置
2019/04/26 Javascript
实现高性能javascript的注意事项
2019/05/27 Javascript
[02:44]2014DOTA2 国际邀请赛中国区预选赛 大神红毯秀
2014/05/25 DOTA
Python中单、双下划线的区别总结
2017/12/01 Python
tensorflow 中对数组元素的操作方法
2018/07/27 Python
Python实现SQL注入检测插件实例代码
2019/02/02 Python
python 实时调取摄像头的示例代码
2020/11/25 Python
使用jquery实现HTML5响应式导航菜单教程
2014/04/02 HTML / CSS
有机童装:Toby Tiger
2018/05/23 全球购物
德国富尔达运动鞋店:43einhalb
2020/12/25 全球购物
采购员的工作职责
2013/12/26 职场文书
2014年五四青年节演讲比赛方案
2014/04/22 职场文书
运动员获奖感言
2014/08/15 职场文书
2014教师党员自我评议总结
2014/09/19 职场文书
离婚协议书该怎么写
2014/10/04 职场文书
2014年英语教研组工作总结
2014/12/06 职场文书
导游词范文之颐和园/重庆/云台山
2019/09/10 职场文书
Mysql中 unique列插入重复值该怎么解决呢
2021/05/26 MySQL
MySQL系列之开篇 MySQL关系型数据库基础概念
2021/07/02 MySQL
MySQL表锁、行锁、排它锁及共享锁的使用详解
2022/04/02 MySQL