[k]javascript创建对象与继承

创建对象

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>组合使用构造函数模式和原型模式</title>
 6 </head>
 7 <body>
 8 <script>
 9 function Person(name,age,job){
10     this.name = name;
11     this.age = age;
12     this.job = job;
13     this.friend = [‘Amy‘,‘Bob‘];
14 }
15 Person.prototype.sayName = function(){
16     console.log(‘name:‘ + this.name);
17 }
18 var person1 = new Person(‘Kevin‘,23,‘Teacher‘);
19 var person2 = new Person(‘David‘,24,‘Doctor‘);
20 person1.sayName();  // name:Kevin
21 person1.friend.push(‘Cris‘);
22 console.log(‘person1.friend:‘ + person1.friend);  // person1.friend:Amy,Bob,Cris
23 console.log(‘person2.friend:‘ + person2.friend);  // person2.friend:Amy,Bob
24 console.log(person1.sayName == person2.sayName);  // true
25 console.log(person1.friend == person2.friend);  // false
26 </script>
27 </body>
28 </html>

继承

时间: 2024-10-28 21:16:09

[k]javascript创建对象与继承的相关文章

JavaScript之基础-16 JavaScript 原型与继承

一.JavaScript 原型 原型的概念 - 在JavaScript中,函数本身也是一个包含了方法和属性的对象 - 每个函数中都有一个prototype属性,该属性引用的就是原型对象 - 原型对象是保存共享属性值和共享方法的对象 为对象扩展属性 - 扩展单个对象的成员 - 扩展共享的属性值 - 内存图描述 删除属性 - 可以使用delete关键字删除对象的属性 自由属性与原型属性 - 自有属性:通过对象的引用添加的属性;其它对象可能无此属性;即使有,也是彼此独立的属性 emp1.job = '

【译】JavaScript 创建对象: 方法一览与最佳实践

本文是我在众成翻译上认领并翻译的:JavaScript 创建对象: 方法一览与最佳实践 在JavaScript中“创建对象”是一个复杂的话题.这门语言提供了很多种创建对象的方式,不论新手还是老手都可能对此感到无所适从,不知道应该选择哪一种.不过,尽管创建对象的方法很多,看上去语法差异也很大,但实际上它们的相似性可能比你所以为的要多.本文将带领你踏上一段梳理对象创建方法的旅程,为你揭示不同方法之间的依赖与递进关系. 对象字面量 我们的第一站毫无疑问就是创建对象最简单的方法,对象字面量.JavaSc

javascript寄生组合式继承

下面是javascript寄生组合式继承源代码,选自这里.讲解请见我所加注释: function creatObject(o){//该函数是为了创建原型链对象所用,传入值o为一个function F(){}//新建函数 F.prototype = o;//设置该函数的原型属性为传入对象 return new F();//调用该函数后返回链式对象F.prototype=o; } function inheritPrototype(subType, superType){//用于设置对象属性 var

【JavaScript回顾】继承

组合继承 组合继承(combination inheritance),有时候也叫做伪经典继承,指的是将原型链和借用构造函数的 技术组合到一块,从而发挥二者之长的一种继承模式.其背后的思路是使用原型链实现对原型属性和方 法的继承,而通过借用构造函数来实现对实例属性的继承.这样,既通过在原型上定义方法实现了函数 复用,又能够保证每个实例都有它自己的属性.下面来看一个例子: <script> function Person(name, age, friends) { this.name = name

理解JavaScript创建对象的不同模式

ps:前端渣第一次写博客,排版什么的还不清楚,后续会慢慢改进. 时隔两个月再次温习前端,发现很多东西都忘了,昨天刚看到constructor和prototype一脸懵逼,回去查资料和看书,对对象的理解又比从前啃书的时候更加深入.本文仅对JavaScript创建对象的各种模式进行辅助性的理解,有错误的地方欢迎指正. 创建对象 字面量对象 var person = { name:"myName", age:"18", sayName:function(){ alert(

JavaScript prototype与继承

通常来说,javascript中的对象就是一个指向prototype的指针和一个自身的属性列表.javascript创建对象时采用了写时复制的理念. 只有构造器才具有prototype属性,原型链继承就是创建一个新的指针,指向构造器的prototype属性. prototype属性之所以特别,是因为javascript时读取属性时的遍历机制决定的.本质上它就是一个普通的指针. 构造器包括: 1.Object 2.Function 3.Array 4.Date 5.String 例子: //每个f

Javascript创建对象几种方法解析

Javascript创建对象几种方法解析 Javascript面向对象编程一直是面试中的重点,将自己的理解整理如下,主要参考<Javascript高级程序设计 第三版>,欢迎批评指正. 通过字面量形式,创建对象: var person_1 = { name: "userName", age: 20 } 工厂模式创建对象 通过一个构造函数接收参数的方式构造对象,可无数次调用这个函数,通过改变参数构造不同的对象 function createPerson(name,age){

Javascript 创建对象方法的总结(每天一些学习真的很快乐)

使用Javascript创建对象的方法有很多,现在就来列举一下: 1. 使用Object构造函数来创建一个对象,下面代码创建了一个person对象,并用两种方式打印出了Name的属性值. var person = new Object(); person.name="kevin"; person.age=31; alert(person.name); alert(person["name"]) 2. 使用对象字面量创建一个对象:不要奇怪person["5&

javascript模拟实现继承,继承一次父类模板和原型对象

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getS