分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

js理解面向对象(一)

发布时间:2023-09-06 02:33责任编辑:熊小新关键词:js面向对象

一、什么是对象:

  在java、actionscript等语言中都有对象(类的概念),我的理解是对象就是属性和方法的集合,在编程语言中有一句话叫一切皆对象,Object对象是所有对象的基类,都是继承Object;

二、在js中对象的创建:

1、用new关键字创建对象:

var obj=new Object();

new 关键字是语法糖,他创建了一个实例对象,继承了Object的属性和方法,以下是new 经历哪些步骤和代码模拟

<script type="text/javascript"> ???function Persion(){ ???????/** ???????*func:构造函数 ???????*/ ???????this.dec="这是描述"; ???} ???Persion.prototype.sayHell=function(){ ???????console.log("您好"); ???} ???function desaginNew(tt){ ???????/* ???????*func:模拟new关键字; ???????*/ ???????//第一步:创建新的对象; ???????var obj={}; ???????var creatObj=[].shift.call(arguments); ???????//第二步:改变this指向,把新的对象的_proto_指向Persion对象的prototype原型对象; ???????obj._proto_=creatObj.prototype; ???????//第三步:执行构造函数的代码为新对象添加属性和方法; ???????Persion.call(obj); ???????//第四步:返回对象; ???????return obj; ???} ???var newPersion=desaginNew(Persion);</script>

2、用字面量创建对象:

var obj={name:"",age:"",say:function(){}};

3、构造函数创建对象:

构造函数:在java语言中类的定义中都有构造函数,在js中也有构造函数的概念,Object对象都有constructor构造函数方法;

js中Object对象都有以下属性和方法:

1、constructor:构造函数属性,它指向了Object()函数;

2、hasOwnProperty:判断是否是对象自身属性和方法;

3、isPrototypeOf:判断是否是某个对象的子对象即继承某对象;

 ???function Persion(){ ???????/** ???????*func:构造函数 ???????*/ ???????this.name="名字"; ???????this.say=function(){ ???????????console.log("您好"); ???????} ???} ???//自身属性要实例化后才能访问属性和方法; ???console.log(new Persion().name);//"名字" ???console.log(new Persion().say());//"您好;

4、es6中新增class关键字创建类

 

 

js理解面向对象(一)

原文地址:https://www.cnblogs.com/Gonghong/p/10373660.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved