朋友们大家好,好久没有更新文章了,最近正好有空就想着写点什么吧,加上这段时间总是能听到一些朋友们问关于js函数,方法,对象实例到底有什么区别这个问题,所以今天就献丑来简单说明一些吧!

其实这些主要都是一些概念上的东西,在这里还是推荐大家多看看诸如《JavaSript权威指南》,《JavaScript高级编程》之类的书籍,当然这些概念如果用代码写出来我相信大家也都还是能够知道的,所以下面我就用文字和代码举一些简单的例子进行说明:

函数:简单的说函数就是,使用function关键字定义(或声明)的表达式语句;他有两种写法,一种是函数定义表达式:

1
var aa = function(){....};

另一种是函数声明语句:

1
function aa(){....};

这两种写法在调用时基本一样,但是这两种写法还是有一些区别的:

1.js脚本在运行时会把函数声明语句提升到所在作用域的最顶端,也就是说你在底下声明的函数在其声明之前也可以调用,即可以先调用后声明,但函数定义表达式则必须先定义后调用;

2.正是函数声明语句的作用域提升所以最好不要在if/for/while等语句内使用函数声明语句,因为这些语句没有块级作用域;

函数说完了,接下来说说方法:

方法:所谓方法其实就是当对象的属性是一个函数时,这个函数就是该对象的方法;简而言之方法就是,作为对象属性的函数!

1
2
3
4
5
6
//定义一个对象bb
var bb = {
    cc : function(){
        ...........
    }
}

看上面这段代码,函数cc在这里就是对象bb的方法,我们一般叫做bb的cc方法!

看到这里我想大家应该能够明白函数跟方法的区别了吧:

方法也是函数,但只有作为对象属性的函数才是方法!

有点绕啊,但是大家应该都能看的明白!

接着我们在来说说实例:

实例是怎么回事了,其实简单点说,实例就是通过new关键字调用的对象!

1
2
var obj = new Object; //这里对象obj就是一个对象实例;
var arr = new Array; //这里的arr就是一个数组实例;

上面是两个简单的例子;下面我们可一个稍微复杂点的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//创建一个简单的information
var information = function(){
    this.name = '';
    this.setName = function(name){
        this.name = name;
    }
    this.getName = function(){
        alert(this.name);
    }
}
//创建information类的实例
var myName = new information;//这里没有参数,可以省略小括号
myName.setName('平凡公子');//调用实例的setName方法;
myName.getName() //调用实例的getName方法;

上面这个例子可以看出实例,方法,以及实例方法;information是一个对象(函数也是对象),myName是information对象的实例,setName和getName是对象方法,在这里它们也是实例对象myName的方法!

总结:方法是一个作为对象属性的函数,实例是通过关键字new来调用的函数(对象),实例对象是对对象的一个引用,它具有对象的所有方法!

好吧,说到这里本文也就该结束了,可能由于语言水平问题有些地方没有表达清楚,还请各位看官海涵!如有不明白的地方可以留言!

关于js函数,方法,对象实例的一些说明的更多相关文章

  1. JS函数和对象(一)

    在本文章中,将对JS中的函数和对象进行一些讲解,不对之处还请之处 一.JS中的函数 1.1无参函数 其形式如下代码所示 function box(){ alert("我是一个函数,只有被调用 ...

  2. node js 函数和对象

    1.函数 1.1匿名函数 函数声明 function fn(){  } 函数表达式 var fun=function(){  } 函数名称和函数名称()的区别 fun/fn   fun()/fn() ...

  3. JS函数和对象

    1.函数 isNaN(数据)/parseInt/parseFloat/Number/prompt... 函数分为系统函数和自定义函数 function: 功能体,函数(方法),可以接受若干个数据,返回 ...

  4. 深入理解js——函数和对象的关系

    函数也是对象,但是函数却不像数组--数组是对象的一种,它是对象的一个子集.函数和数组之间不是单纯的包含与被包含的关系,它们之间有点像鸡生蛋蛋生鸡的逻辑. 来例子:function Fn(){ this ...

  5. 页面加载时调用js函数方法

    方法一:在html的body中加入onload=""事件 <body onload='queryServer()'> </body> 方法二:jquery ...

  6. js函数方法

    /** * call()和apply * 这两个方法都是函数对象的方法,需要通过函数对象来调用 * 当对函数调用call()和apply()都会调用函数执行 * 在调用call()和apply()可以 ...

  7. js函数事件对象

    每个函数都有4个默认对象 arguments 保存着实际传入的参数,集合列表 return 有两个功能,打断函数和返回函数值 this 谁调用的函数,this就是谁 event 事件对象 事件 box ...

  8. iframe调用父页面js函数 方法 元素

    在一个页面中添加iframe,但是有时需要与父页面进行通信,传递参数. 网上总结有以下方法: 一.iframe标签中   src属性传参 <iframe src="test.jsp?i ...

  9. JS中的对象和方法简单剖析

    众所周知,在js中对象就是精髓,不理解对象就是不理解js. 那么什么事js中的对象呢? 在js中,几乎一切皆对象: Boolean ,String,Number可以是对象(或者说原生数据被认作对象): ...

  10. AS与JS相互通信(Flex中调用js函数)

    转载自http://www.blogjava.net/Alpha/archive/2009/06/27/284373.html Flex中As调用Js的方法是:     1.导入包 (import f ...

随机推荐

  1. ELK学习笔记之F5 DNS可视化让DNS运维更安全更高效-F5 ELK可视化方案系列(3)

    0x00 概述 此文力求比较详细的解释DNS可视化所能带来的场景意义,无论是运维.还是DNS安全.建议仔细看完下图之后的大篇文字段落,希望能引发您的一些思考. 在“F5利用Elastic stack( ...

  2. Linux 搭建安装Maven环境

    1.前提条件: 1)下载并安装好JDK .在终端输入命令“java -version”,如果出现类似如下信息说明JDK安装成功. $ java -version java version " ...

  3. P1384 幸运数与排列

    P1384 幸运数与排列 神奇的(逆)康托展开:求1到n的全排列中字典序第k小的排列 $k<=10^9<13!$,显然$k$最多只会影响后$13$位 前面一大串都是有序从小到大排列的,于是 ...

  4. Spring是如何处理注解的

    如果你看到了注解,那么一定有什么代码在什么地方处理了它. Alan Hohn 我教Java课程时强调的一点是注解是惰性的.换句话说,它们只是标记,可能具有某些属性,但没有自己的行为.因此,每当你在一段 ...

  5. 07: mysql锁和事物隔离

    MySQL其他篇 目录: 1.1 MySQL中的事物 1.2 mysql中锁 1.1 MySQL中的事物返回顶部 1.InnoDB事务原理 1. 事务(Transaction)是数据库区别于文件系统的 ...

  6. 图片上传前 压缩,base64图片压缩 Exif.js处理ios拍照倒置等问题

    曾写过在前端把图片按比例压缩不失真上传服务器的前端和后台,可惜没有及时做总结保留代码,只记得js利用了base64位压缩和Exif.js进行图片处理,还有其中让我头疼的ios拍照上传后会倒置等诸多问题 ...

  7. Codeforces 765F Souvenirs - 莫队算法 - 链表 - 线段树

    题目传送门 神速的列车 光速的列车 声速的列车 题目大意 给定一个长度为$n$的序列,$m$次询问区间$[l, r]$内相差最小的两个数的差的绝对值. Solution 1 Mo's Algorith ...

  8. bzoj 4445 小凸想跑步 - 半平面交

    题目传送门 vjudge的快速通道 bzoj的快速通道 题目大意 问在一个凸多边形内找一个点,连接这个点和所有顶点,使得与0号顶点,1号顶点构成的三角形是最小的概率. 假设点的位置是$(x, y)$, ...

  9. dp入门(LIS,LCS)

    LCS

  10. 41. 包含min函数的栈

    包含min函数的栈 描述 设计一个支持push,pop,top等操作并且可以在O(1)时间内检索出最小元素的堆栈. push(x)–将元素x插入栈中 pop()–移除栈顶元素 top()–得到栈顶元素 ...