浅析JavaScript事件和方法

 更新时间:2015年02月28日 09:17:54   投稿:hebedich  
本文通过示例向大家简单分析了javascript的事件和方法,文章简洁而不简单,是篇非常不错的基础文章,这里推荐给大家。

单击一个超链接触发事件

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.调用事件

2.注册事件

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

所以 onload = function(){

     //在这里注册事件

};

页面加载事件

复制代码 代码如下:

  <script type="text/javascript">
       //刷新
       //location.reload();
          onload=function(){
           alert("页面加载了");
          };
          onunload =function(){
           alert("页面关闭了");
          };
          onbeforeunload= function(){
             alert("页面关闭之前触发");
          };
  </script>

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

相关文章

  • ES6 async、await的基本使用方法示例

    ES6 async、await的基本使用方法示例

    这篇文章主要介绍了ES6 async、await的基本使用方法,结合实例形式分析了ES6 async、await的基本功能、使用方法与相关注意事项,需要的朋友可以参考下
    2020-06-06
  • 详解JavaScript中的类型判断与类型转换

    详解JavaScript中的类型判断与类型转换

    这篇文章主要给大家讲解一下JavaScript中的类型判断与类型转换的基本概念和使用方法,对我们的学习JavaScript的类型判断与转换有一定的帮助,需要的朋友可以参考下
    2023-07-07
  • javascript addBookmark 加入收藏 多浏览器兼容

    javascript addBookmark 加入收藏 多浏览器兼容

    不错的加入收藏代码,加入了对一些常见浏览器的判断,更好的体现用户体验,兼容了ie,firefox.
    2009-08-08
  • js 程序执行与顺序实现详解

    js 程序执行与顺序实现详解

    JavaScript是一种描述型脚本语言,由浏览器进行动态的解析与执行,浏览器对于不同的方式有不同的解析顺序,详细介绍如下,感兴趣的朋友可以参考下哈
    2013-05-05
  • 谈谈JavaScript类型系统之Math

    谈谈JavaScript类型系统之Math

    Math 对象并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math(),像 Math.sin() 这样的函数只是函数,不是某个对象的方法。您无需创建它,通过把 Math 作为对象使用就可以调用其所有属性和方法
    2016-01-01
  • es6基础学习之解构赋值

    es6基础学习之解构赋值

    解构赋值语法是一个 Javascript 表达式,这使得可以将值从数组或属性从对象提取到不同的变量中。这篇文章主要给大家介绍了关于es6基础学习之解构赋值的相关资料,需要的朋友可以参考下
    2018-12-12
  • BootStrap selectpicker

    BootStrap selectpicker

    这篇文章主要介绍了BootStrap selectpicker 的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-06-06
  • 微信小程序实现modal弹出框遮罩层组件(可带文本框)

    微信小程序实现modal弹出框遮罩层组件(可带文本框)

    这篇文章主要给大家介绍了关于微信小程序实现modal弹出框遮罩层组件(可带文本框)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 解析JavaScript中instanceof对于不同的构造器或许都返回true

    解析JavaScript中instanceof对于不同的构造器或许都返回true

    这篇文章主要是对JavaScript中instanceof对于不同的构造器或许都返回true进行了详细的解析,需要的朋友可以过来参考下,希望对大家有所帮助
    2013-12-12
  • 详解JS函数stack size计算方法

    详解JS函数stack size计算方法

    本篇文章给大家分享了关于JS函数中stack size计算方法的相关知识点,对此有需要的朋友可以跟着学习下。
    2018-06-06

最新评论