OOP -JS

1 篇文章 0 订阅

目录:

  1. 数据类型
  2. 原型&原型链
  3. 作用域
  4. 过程式编程
  5. 函数式编程
  6. new调用函数
  7. 设计模式
  8. 常用方式

数据类型

原始类型:字符串(string)、数字(number)、布尔(boolean)、Null、Undefined、Symbol。
引用类型:Object

具体请参考:http://www.cnblogs.com/Ruth92/p/5268984.html

原始类型声明方式

var s1 = "123";
var num1 = 123;
var flag1 = true;
var arr1 = [];

区别:前者只有一些简单的函数和属性,后者拥有String对象的各种方法和属性。

引用类型声明方式

var obj1 = {};
var obj2 = new Object();
var obj3 = Object.create({});

//各种内置对象
var s1 = new String("123");
var num1 = new Number("123");
var flag1 = new Boolean("123");
var arr1 = new Array("1","2");

具体请参考:Object.create(proto [, propertiesObject ]);

原型&原型链

Javascript 只有一种结构:对象。每个对象都有一个私有属性(称为[[Prototype]]), 它持有一个连接到另一个称为其 prototype 对象的链接。该原型对象具有一个自己的原型,等等,直到达到一个对象的 prototype 为 null。根据定义,null 没有 prototype,并作为这个原型链 中的最后一个环节。JavaScript中几乎所有的对象都是位于原型链顶端的Object的实例。

基于原型链的继承

JavaScript 对象是动态的属性“包”(指其自己的属性)。JavaScript 对象有一个指向一个原型对象的链。当试图访问一个对象的属性时,它不仅仅在该对象上搜寻,还会搜寻该对象的原型,以及该对象的原型的原型,依此层层向上搜索,直到找到一个名字匹配的属性或到达原型链的末尾。

作用域
具体请参考:http://www.cnblogs.com/longze/p/3543242.html
具体请参考:http://www.cnblogs.com/pssp/p/5215621.html

过程式编程

对于并未会有变化的js操作

$("#firstDiv").hover(function({
    $("#secondDiv").css("display","block");
} , function(){
    $("#secondDiv").css("display","none");
});  

函数式编程

将之前的过程式js赋予变化,可多次调用该函数。

function toggle(s,t){
    $(s).hover(function(){
        $(t).css("display","block");
    }, function(){
        $(t).css("display","none");
    });
}

new调用函数

当用new创建类的实例时,解释器首先会创建一个空的对象(相当于创建了一个新的作用域),把原型对象指向这个函数的原型对象,将this指针指向创建的上步创建的空对象然后运行这个函数。

具体请参考:http://www.cnblogs.com/liushannet/archive/2011/03/05/1971849.html

设计模式

具体请参考:http://www.cnblogs.com/tomxu/archive/2011/12/15/2288411.html

常用方式

1.extend:
具体请参考:https://segmentfault.com/a/1190000007076651

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值