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__的区别,原型对象及构造器的理解