js中面向对象的写法】的更多相关文章

function Circle(r){ this.r = r; }//构造(实例对象的)函数[思路二:这是一个类] Circle.PI = 3.14159; //属性 Circle.prototype.area = function (){ //方法 return Circle.PI*this.r*this.r; } var c = new Circle(5.0);//对象实例化+传参 [思路二:这是类的实例化] alert( c.area() ); //return (3.14159*5*5)…
直到今天我才明白的一个玩意!!! 来来来,首先嘛,JS中函数有两种命名方式 1.一种是声明式. 而声明式会导致函数提升,function会被解释器优先编译.即我们用声明式写函数,可以在任何区域声明,不会影响我们调用. function XXX(){} 2.一种是函数表达式 函数表达式我们经常使用,而函数表达式中的function则不会出现函数提升.而是JS解释器逐行解释,到了这一句才会解释.因此如果调用在函数表达式之前,则会调用失败. var k = function(){} fn1(); fu…
1.基本概念 子类继承父类,但是不能影响父类.包括1.混合继承(构造函数+原型) 2.ES6新增class的继承. 接下来介绍,面向对象中继承的两种常用写法.即混合继承(构造函数+原型)和class继承.推荐class继承 需要用到的知识点,构造函数.原型与原型链. (1)构造函数:构造函数是函数.也是类.通过new调用,产生实例对象.通过实例对象访问对象下面具有的属性和方法.(构造函数内部的属性和方法都是私有的)         属性:对象的特点,修饰对象的,私有.         方法:对象…
//第1种写法 function Circle(r) { this.r = r; } Circle.PI = 3.14159; Circle.prototype.area = function() { return Circle.PI * this.r * this.r; } var c = new Circle(1.0); alert(c.area()); //第2种写法 var Circle = function() { var obj = new Object(); obj.PI = 3.…
1.面向对象编程(OOP)的特点: 抽象:抓住核心问题 封装:只能通过对象来访问方法 继承:从已有的对象下继承出新的对象 多态:多对象的不同形态 一.创建对象的几种方式 javascript 创建对象简单的来说,无非就是使用内置对象或各种自定义对象,当然还可以使用JSON,但写法有很多,也能混合使用. 1.工厂方式创建对象:面向对象中的封装函数(内置对象) function createPerson(name){ //1.原料 var obj=new Object(); //2.加工 obj.n…
1.面向对象编程(OOP)的特点: 抽象:抓住核心问题 封装:只能通过对象来访问方法 继承:从已有的对象下继承出新的对象 多态:多对象的不同形态 注:本文引用于 http://www.cnblogs.com/yuxingyoucan/p/5797142.html 一.创建对象的几种方式 javascript 创建对象简单的来说,无非就是使用内置对象或各种自定义对象,当然还可以使用JSON,但写法有很多,也能混合使用. 1.工厂方式创建对象:面向对象中的封装函数(内置对象) function cr…
1.对象的表示方法,以下是对象的两种方法:第二种方法是使用函数构造器来创建一个对象. 2.对象的一种表达方式,这种方式更像Java中对象的创建,就是用一个new来创建一个对象实例.面向对象的封装.样式为:(function(){...}()),后面的这个括号()表示的是调用...的东西 以上需要提出的一点是:call方法的使用,上面的可以大概理解为:用superSsay来代替People对象中的call方法中的this.具体可以看http://www.cnblogs.com/sweting/ar…
一.理解对象: 第一种:基于Object对象 var person = new Object(); person.name = 'My Name'; person.age = 18; person.getName = function(){ return this.name; } 第二种:对象字面量方式(比较清楚的查找对象包含的属性及方法) var person = { name : 'My name', age : 18, getName : function(){ return this.n…
js提供了灵活的函数写法,我们常见的函数写法和调用可能是: function ask(){ console.log(1); } ask(); 这样就完成了函数的定义和调用,司空见惯. 还有js里面的匿名函数我们也不陌生,匿名函数的定义和调用: (function(){console.log(1)})(); (function(){console.log(1)}()): 我们看到匿名函数定义之后立即就被引用了,这其实是立即执行的函数表达式,例如 1 (function(){console.log(…
6.1 理解对象 6.1.1 对象属性类型 ECMS属性有两种类型:数据属性和访问器属性 1 数据属性 [[configurable]] 表示能否通过Delete 删除属性从而从新定义属性,能否修改属性的特性,或者能否把属性修改为访问器属性.对象上定义的属性默认值为true [[enumerable]] 表示能否通过for-in循环返回属性.直接在对象上定义的属性,它们的这个特性默认值为true [[writable]] 表示能否修改属性值.像前面例子中那样直接在对象上定义的属性,它们默认值为t…