javascript 对象、实例、函数、方法的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 对象、实例、函数、方法的区别相关的知识,希望对你有一定的参考价值。

工作中要用到javaScript面向对象的特性,我对这块不是很了解。希望高手给予指点

1楼说的没错。没必要区分很清楚。给一个小模型给你看看。

定义一个js类
var jsclass=
funA:function(),
funB:function(),
type:'class'
;

调用
var t=new jsclass();
t.funA();
参考技术A 关于js中实例和对象的解释如下:
比如定义persion如下:
var person = new Object();
var person = ;

JS 是基于原型的面向对象语言, 所有数据都可以当作对象处理,所以 person 是对象, 可以把它当作是 Object 的实例. 当然, 一切都是对象。
第二个采用对象字面量的方式生成的person也是如此。
然而它内部没有调用new Object(),而是采用JSON的初始化方式:
将现有的引用指向person。
实例和对象的区别,从定义上来讲:
1、实例是类的具象化产品,
2、而对象是一个具有多种属性的内容结构。
实例都是对象,而对象不全是实例。
Js里面没有类(ES6以前)的语法,所以类的概念就通过创造一个对象来实现。
参考技术B 首先要知道函数就是对象,例如创建一个
function xx()
..........// 它就是函数,或对象
xx();//直接调用函数
aa=new xx()//创建对象实例
而在函数里面的公用函数,特权函数用xx.yy(),而yy()为xx的一个方法.
参考技术C 在Javascript中只有对象。
变量是对象,函数也是对象。
只要你知道你的对象是什么,按照它的方式去使用就可以了。
当然也可以把函数保存到变量中,再通过变量调用函数,这都是可以的。
参考技术D javascript是弱类型,对象,实例,函数,方法通用的。不需要区别那么清楚。

JavaScript中this指向

一般调用函数的时候,我们需要确认函数内部的this指向问题

一般指向函数的调用者

总结一下不同函数调用方式对应的this指向

1 普通函数调用 fun() -------window

2 构造函数调用 new Star() ------ 实例对象,原型对象里面的方法也指向实例对象

3 对象方法调用 ------ 该方法所属对象

4 事件绑定方法 ------- 绑定事件对象

5 定时器回调函数 ------ window

6 立即执行函数 -------- window

 

函数内部的this指向可以手动指定,主要有call(),apply(),bind()三种方法

1 call()

  语法: fun.call(that,arg1,arg2,...)

  功能:调用fun函数,改变fun函数的this指向

  主要应用: 可以用于构造函数的属性继承

  

function Father(uname.uage) {
    this.name = uname
    this.age = uage
}
function Son(uname,uage) {
    Father.call(this,uname,uage)
}
let son = Son(lldh,42)

 未完待续。。。。

以上是关于javascript 对象、实例、函数、方法的区别的主要内容,如果未能解决你的问题,请参考以下文章

javascript的构造函数和实例对象prototype和__proto__的区别,原型对象及构造器的理解

Javascript学习笔记

javascript构建函数和对象实例

JavaScript中,类、对象、事件、方法、函数的联系与区别

ecmascript和javascript的区别?

JavaScript面向对象之函数构造器的理解