Docker网络管理
2016-03-24 13:44
676 查看
javascript对象创建、查询、属性枚举
构造函数:
由new运算符来调用
传递给它的是一个新创建的空对象的引用,将该引用作为关键字this的值,而且他还要对新创建的对象进行适当的初始化。
看出,首先通过new调用构造函数,初始化传进来的空对象,由this调用该对象进行初始化,该表达式的值就是被初始化的对象;若该方法有返回值,则this引用的对象被丢掉了。
方法 (method):通过对象调用的JavaScript函数,函数即使数值。
麻烦之处:调用方法前需要将该方法付给对象的一个属性。
改进版:function compute_area(){
缺点:
构造函数在初始化之前需要对所有的属性进行设置,若是方法每个对象都保存方法的副本,空间成本很大。
改进:允许对象继承原型对象的属性。
原型对象和继承:该方法可以用来声明方法、常量以及其他能够被其他类的所有对象共享的属性。js对象都继承原型对象的属性,每个对象都有原型对象,原型对象爱你乖的所有属性是以它为原型的对象的属性。js中的所有函数都有prototype属性,他引用一个对象,原型对象初始化时是空的,但是在prototype定义的任何属性都会被该构造函数创建的所有对象继承。构造函数定义了对象的类,并初始化了类中状态变量的属性。 原型对象是存放方法和其他常量属性的理想场所。继承是在查询一个属性值值时自动发生的,属性并非从原型对象复制到新的对象的,他们只不过看起来是那些对象的属性。每个类都有一个原型对象,这个原型对象有一套属性。 在读取对象o的属性p时,会checko是否具有一个名为p的属性,如果没有则check o的原型对象是否有这个属性。
属性的继承只发生在读属性值,而在写属性值时不会发生。
面向对象的javascript
实例属性:在默认情况下,实例属性指的是js中的任何对象属性。但一般是指在对象中用构造器创建或初始化的属性。
实例方法:使用this来引用他们要操作的对象或实例。在js中,给类定义一个实例方法是通过把构造函数的原型对象的一个属性设置为函数值来实现的。所以由该构造函数创建的所有对象都会共享一个已继承的对函数的引用。
类属性:全局属性。Circle.PI=3.14 类属性和类关联,因此在js的名字空间中拥有一个逻辑位置,这样就不会被同名属性覆盖。因此采用上述方法来存放类属性
4.类方法:类方法就是和类关联的方法,而不是和类实例关联的方法。要调用类方法,就必须使用类本身。
var book=new Object(); book.title="Javascript:The definitive Guide"; book.chapter1=new Object(); book.chapter1.title="Introduction to JavaScript"; book.chapter1.pages=19; book.chapter2={ title:"Lexical Structure", pages:6 }; alert(book.title);
构造函数:
由new运算符来调用
传递给它的是一个新创建的空对象的引用,将该引用作为关键字this的值,而且他还要对新创建的对象进行适当的初始化。
function Rectangel(w,h){ this.width=w; this.heigth=h; }
var rect1=new Rectangel(3,3);
看出,首先通过new调用构造函数,初始化传进来的空对象,由this调用该对象进行初始化,该表达式的值就是被初始化的对象;若该方法有返回值,则this引用的对象被丢掉了。
方法 (method):通过对象调用的JavaScript函数,函数即使数值。
function Rectangle(w,h){ this.weight=w; this.height=h; } function compute_area(){ return this.weight*this.height; } var rec=new Rectangle(10,2); rec.area=compute_area; var a=rec.area();
麻烦之处:调用方法前需要将该方法付给对象的一个属性。
改进版:function compute_area(){
return this.weight*this.height; } function Rectangle(w,h){ this.weight=w; this.height=h; this.area=compute_area; } var rec=new Rectangle(10,2); var a=rec.area();
缺点:
构造函数在初始化之前需要对所有的属性进行设置,若是方法每个对象都保存方法的副本,空间成本很大。
改进:允许对象继承原型对象的属性。
原型对象和继承:该方法可以用来声明方法、常量以及其他能够被其他类的所有对象共享的属性。js对象都继承原型对象的属性,每个对象都有原型对象,原型对象爱你乖的所有属性是以它为原型的对象的属性。js中的所有函数都有prototype属性,他引用一个对象,原型对象初始化时是空的,但是在prototype定义的任何属性都会被该构造函数创建的所有对象继承。构造函数定义了对象的类,并初始化了类中状态变量的属性。 原型对象是存放方法和其他常量属性的理想场所。继承是在查询一个属性值值时自动发生的,属性并非从原型对象复制到新的对象的,他们只不过看起来是那些对象的属性。每个类都有一个原型对象,这个原型对象有一套属性。 在读取对象o的属性p时,会checko是否具有一个名为p的属性,如果没有则check o的原型对象是否有这个属性。
属性的继承只发生在读属性值,而在写属性值时不会发生。
面向对象的javascript
实例属性:在默认情况下,实例属性指的是js中的任何对象属性。但一般是指在对象中用构造器创建或初始化的属性。
实例方法:使用this来引用他们要操作的对象或实例。在js中,给类定义一个实例方法是通过把构造函数的原型对象的一个属性设置为函数值来实现的。所以由该构造函数创建的所有对象都会共享一个已继承的对函数的引用。
类属性:全局属性。Circle.PI=3.14 类属性和类关联,因此在js的名字空间中拥有一个逻辑位置,这样就不会被同名属性覆盖。因此采用上述方法来存放类属性
4.类方法:类方法就是和类关联的方法,而不是和类实例关联的方法。要调用类方法,就必须使用类本身。
function Circle(radius){ this.r=radius; } Circle.PI=3.14159; function Circle_area(){return Circle.PI*this.r*this.r;} Circle.prototype.area=Circle_area; function Circle_max(a,b){ if(a.r>b.r) return new Circle(a.r); else return new Circle(b.r); } Circle.max=Circle_max;
相关文章推荐
- docker exec 运行命令
- docker exec 运行命令
- docker exec 运行命令
- dockerfile 格式
- dockerfile 安装 nginx
- Centos下安装docker-compose
- 在生产环境中使用Apache Mesos和Docker
- docker[未完待续]
- Docker-4 Docker 相关概念
- docker 新容器修改
- docker-compose 安装TYK环境(4个Docker:dashboard、gateway、mongo、redis)
- docker(一)部署tomcat应用
- Docker工具
- 使用docker 构建一个web应用
- Docker容器内信息获取和命令执行
- quay.io/coreos/etcd 基于Docker镜像的集群搭建
- Docker多台宿主机间的容器互联-centos7
- Dockerfile与Docker构建流程解读
- docker-compose.yml 语法说明
- 使用docker搭建nginx