JavaScript 面向对象基础
2017-06-12 09:59
330 查看
要掌握好 JavaScript,首先一点是必须摒弃一些其他高级语言如 Java、C# 等类式面向对象思维的干扰,全面地从函数式语言的角度理解 JavaScript 原型式面向对象的特点。
JavaScript 语言是通过一种叫做 原型(prototype)的方式来实现面向对象编程的
(1):一切事物皆对象
(2):对象具有封装和继承特性
(3):对象与对象之间使用消息通信,各自存在信息隐藏
Java和JavaScript这两门语言的 new含义毫无关系,因为其对象构造的机理完全不同。JS 这里仅仅是借用了关键字 new,仅此而已;换句话说, 完全可以用其它 非new 表达式来用调用构造器创建对象。
JavaScript 语言是通过一种叫做 原型(prototype)的方式来实现面向对象编程的
认识面向对象
1、面向对象中的概念:(1):一切事物皆对象
(2):对象具有封装和继承特性
(3):对象与对象之间使用消息通信,各自存在信息隐藏
最基本的面向对象
字面式声明(literal notation)var person={ name:"miao", age:20, eat:function () { alert("能吃") } } alert(person.name);
函数构造器构造对象
每个构造器(constructor)实际上是一个 函数(function) 对象, 该函数对象含有一个“prototype”属性用于实现 基于原型的继承(prototype-based inheritance)和 共享属性(shared properties)。对象可以由“new 关键字 + 构造器调用”的方式来创建。Java和JavaScript这两门语言的 new含义毫无关系,因为其对象构造的机理完全不同。JS 这里仅仅是借用了关键字 new,仅此而已;换句话说, 完全可以用其它 非new 表达式来用调用构造器创建对象。
function Peroson() { } Peroson.prototype={ name:"miao", age:20, eat:function () { alert("能吃") } } var p = new Peroson(); p.name p.age p.eat();
深入JavaScript面向对象
//信息封装 (function () { var n = "ime"; function People(name) { this._name = name; } People.prototype.say = function () { alert("peo-hello"+this._name); } window.People = People;//提供一个外部接口 }()); (function () { function Student(name) { this._name = name; } Student.prototype = new People(); //Student继承People var superSay = Student.prototype.say; Student.prototype.say = function () { superSay.call(this); alert("stu_hello"+this._name); } window.Student = Student; }()); var s = new Student("miao"); s.say();
(function () { var n = "ime"; function Person(name) { var _this = { } _this._name = name; _this.sayHello = function () { alert("p-hello"+_this._name+n); } return _this; } window.Person = Person; }()); function Teacher(name) { var _this = Person(name); var superSay = _this.sayHello; _this.sayHello = function () { superSay.call(_this); alert("t-hello" + _this._name); } return _this; } var t = Teacher("miao"); t.sayHello();
参考文献
全面理解面向对象的 JavaScript相关文章推荐
- JavaScript面向对象基础
- javascript 设计模式之单体模式 面向对象学习基础
- Javascript基础与面向对象基础~第一讲 啥叫编程,啥叫程序员
- JavaScript – 6.JS面向对象基础(*) + 7.Array对象 + 8.JS中的Dictionary + 9.数组、for及其他
- javascript 面向对象技术基础教程第1/2页
- javascript: 面向对象基础知识
- Javascript基础与面向对象基础~Javascript中的语句如何被执行,如何改变执行顺序
- javascript面向对象技术基础(四)(类、构造函数、原型)
- 面向对象的 Javascript 面向对象基础
- JavaScript面向对象基础
- Javascript面向对象基础二-数组
- [推荐]javascript 面向对象技术基础教程
- javascript面向对象基础学习(一)
- Javascript基础与面向对象基础~第四讲 Javascript中的类对象
- javascript 设计模式之单体模式 面向对象学习基础
- javascript面向对象技术基础
- Javascript面向对象基础三-函数
- Javascript基础与面向对象基础课程文字版目录
- Javascript基础与面向对象基础~第五讲 Javascript中的方法,类中的方法
- Javascript基础与面向对象基础~第二讲 Javascript中的变量及变量的类型