JS笔记:面向对象
来源:互联网 发布:mac 压感 编辑:程序博客网 时间:2024/04/30 02:23
全局变量
1、var test =’some value’定义在程序最外面
2、window.test=’some value’
3、在函数内部对变量直接赋值,该变量就是全局变量。
(function(){
var a;
test=’some value’
})()
后面两种将变量定义在window,delete可以删除。vardelete不可以删除
这两个test也是全局变量
function todo(){var a=test=‘some value’ }
function todo(){
var a=‘abc’;
test=‘abs’}
全局变量可以在任何一个函数内被改变。不同程序员用同一个变量名,会造成函数不稳定。
封装
//通过getconfig方法调用函数类的私有变量 function A(){ var _config=['A','B','C']; this.getconfig=function(){ return -_config; } } //通过命名规范区分私有公有变量 var pro=A.prototype; pro._step1=function
类继承:
(function(){ function ClassA(){}//相当于类(构造函数)的概念 classA.ClassMethod=function(){} classA.prototype.api=function(){}//构造函数的prototype是实例(ClassA创建的对象) function ClassB(){ classA.apply(this,arguments); }// 让B的实例能调用A的方法 ClassB.prototype =new classA();//给ClassB的原型赋值了一个对象 ClassB.prototype.constructor=ClassB;//constuctordor的属性实指向A的。new ClassB的时候,constructor变成A ClassB.prototype.api=function(){ classA.prototype.api.apply(this,arguments) } var b=new ClassB(); b.api(); })();
原型继承:
function(){ var proto={ action1:function(){} action2:function(){} } var obj=Object.create(proto);//obj继承了proto的方法 }
在低版本游览器中,通过函数模拟Object.create
var clone=(function(){ var F=function(){}; return function(proto){ F.ptototype=proto; return new F(); }})()
以proto为原型创建一个新对象。通过构造函数,让构造函数的prototype等于proto,通过构造函数new出来的对象的原型即为proto。
所以这个函数的思路是,声明一个构造函数的变量 ,执行一段函数实现上诉功能。 传入proto的参数,返回的是一个新对象,这个对象以proto为原型。
0 0
- js笔记--面向对象
- JS笔记:面向对象
- js面向对象学习笔记
- js完整笔记--js面向对象编程
- js学习笔记-面向对象程序设计
- JS面向对象学习笔记(一)
- JS面向对象学习笔记(二)
- JS面向对象学习笔记(三)
- 【JS学习笔记】 面向对象与原型
- js学习笔记(面向对象)
- 面向对象的js(笔记2)
- JS学习笔记(10)面向对象
- JS学习笔记2_面向对象
- JS面向(基于)对象编程笔记
- js面向对象学习笔记之一(类与对象)
- js面向对象学习笔记之三(Array 对象)
- js面向对象学习笔记之四(Date 对象)
- JS学习笔记——面向对象,设计模式
- linux操作系统下,尝试安装无线网卡驱动过程
- Java成员变量、局部变量、静态变量、成员方法、全局方法等概念的区别
- 文章标题
- 数据库设计
- SQL Server数据库置疑后无法删除问题
- JS笔记:面向对象
- 折半查找
- 114.You plan to implement the distributed database system in your company. You invoke Database Confi
- [矩阵]螺旋矩阵问题(上)
- java学习之路 之 面向对象编程-可变个参数-练习题
- Hibernate中不用基本类型
- 【POJ】[1061]青蛙的约会
- c++内存管理1
- Java多线程基础总结