首页 > 语言 > JavaScript > 正文

浅谈Javascript中的对象和继承

2024-05-06 15:40:23
字体:
来源:转载
供稿:网友

Javascript是一门函数式编程语言,Javascript当中函数是核心,在Javascript中函数也是对象,函数对象在创建的时候会被添加属性和方法。

在Javascript中函数对象有两种调用方式,一种是new关键字的调用,另一种是没有new关键字的调用,前者会返回一个对象,后者会返回return语句中的内容。

function Obj (name) { this.name = name; return name;}

用new关键字来调用如下:

var obj = new Obj('张三') // 返回 { 'name': '张三' }

不用new关键字调用如下:

var obj = Obj('张三') // 返回 '张三'

说完了js当中的对象和调用方式,那让我们来理解下什么是对象。

什么是对象?

对象是类的一个实例(对象可不是女朋友),有状态和行为。例如:一个电脑就是一个对象,它的状态有:大小、颜色、品牌等,他的行为有:播视频、听音乐、聊天等。

而类是对象的抽象,可以理解为类是一个模板,它来描述一类对象的状态和行为。软件对象也有状态和行为,软件对象的状态就是属性,行为就是方法。在软件开发中,在方法中可以操作对象的内部状态,对象的相互调用也是通过方法来完成。

类既然可以理解为一个模板,我们通过一个Person的简单例子来理解下:

function Person (name, age, sex) { this.name = name; this.age = age; this.sex = sex; run = function () { console.log('Run') }}

 在这个类中name,age,sex为这个类的属性,而run为这个类的方法;Person的职责是构造对象,进行对象的初始化。

接下来我们看下在js中如何声明并调用对象。

对象的创建(多种方法)

块级对象

var person = { name: '王小端coder', age: 29}console.log(person.name); // 王小端coder

构造函数 --- 系统自带

var obj = new Object();obj.name = '王小端coder'console.log(obj.name); // 王小端coder

系统自带的对象有:Object、Array、Number、Boolean、Date等

构造函数 --- 自定义

function Obj (name) { this.name = name;}var obj = new Obj('王小端coder');console.log(obj.name); // 王小端coder

对象的增删改查

增:为对象添加一个属性

var person = {};person.name = '王小端coder';console.log(person.name);

删:通过delete操作符删除一个对象的属性

var person = { name: '王小端coder'};console.log(person.name); // 王小端coderdelete person.name;console.log(person.name); // undefined

改:直接通过赋值来修改一个对象的属性

var person = { name: '王小端coder'};console.log(person.name); // 王小端coderperson.name = '王小端JS'console.log(person.name); // 王小端JS            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选