js面向对象写法

//对象字面量写法
var fn = {
    name: ‘hello world‘,
    fn1: function() {
        console.log(this.name);
    }
};
fn.fn1();
//prototype原型写法
function Fn() {
    this.name = ‘hello world‘;
    this.fn1 = function() {
        console.log(this.name);
    };
    Fn.prototype.fn2 = function() {
        console.log(this.name);
    };
}
Fn.prototype.fn3 = function() {
   console.log(this.name);
};
Fn.prototype.init = function() {
    fn.fn1();
    fn.fn2();
    fn.fn3();
};
var fn = new Fn();
fn.init();

  

时间: 2024-11-09 04:59:40

js面向对象写法的相关文章

原生js面向对象写法

Mouse就是一个类,有自己的成员变量和成员方法,成员方法一定加上prototype,避免js原型的坑. var Mouse = function(id) { this.id = id; this.name = ""; this.mes = null;//被创建的那个div this.con = null; this.runAwayInterval = null; this.init(); }; Mouse.prototype.init = function() { // consol

js面向对象写法及栈的实现

1 function Stack() { 2 this.dataStore = []; 3 this.top = 0; //指向栈顶的位置 4 this.push = push; 5 this.pop = pop; 6 this.peek = peek; 7 this.clear = clear; 8 this.length = length; 9 10 function push(element) { 11 this.dataStore[this.top++] = element; //先赋值

粗看ES6之面向对象写法

在es6以前,js没有类的概念,虽然有构造函数原型的方式用来做面向对向开发,但是对于书法并不是十分友好,而且对于继承实现也不是十分友好. es6引入class constructor extends super等关键字简化了JS面向对象写法,以后可以跟后端说JS也终于是有类的一门语言了,哈哈. ES6的面向对象写法如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT

JS面向对象笔记二

菜单导航,<JS面向对象笔记一>,  参考书籍:阮一峰之<JavaScript标准参考教程> 一.构造函数和new命令 二.this关键字 三.构造函数和new命令 四.构造函数和new命令 五.构造函数和new命令 六.构造函数和new命令 七.构造函数和new命令 八.构造函数和new命令 一.构造函数和new命令 1.构造函数 JavaScript语言的对象体系,不是基于"类"的,而是基于构造函数(constructor)和原型链(prototype) 为

拖拽系列二、利用JS面向对象OOP思想实现拖拽封装

接着上一篇拖拽系列一.JavaScript实现简单的拖拽效果这一篇博客将接着对上一节实现代码利用JS面向对象(OOP)思维对上一节代码进行封装; 使其模块化.避免全局函数污染.方便后期维护和调用:写到这里突然想起一句话“没有任何一个题目是彻底完成的.总还会有很多事情可做......” 我想这句话程序开发大概也适用吧,前端开发人员总是可以结合自己之前学到“拖拽”相关知识,不断扩展.完善.无穷无尽.......     利用匿名函数自执行实现封装 ;(function(){ //do somethi

js面向对象初步探究(上) js面向对象的5种写方法

很长一段时间看网上大神的JS代码特别吃力,那种面向对象的写法方式让人看得云里来雾里去.于是就研究了一下JS面向对象,由于是初学,就将自己在网上找到的资料整理一下,作为记忆. js面向对象的5种写方法:(来自http://www.iteye.com/topic/434462) 首先 定义circle类,拥有成员变量r,常量PI和计算面积的成员函数area(): //第1种写法 function Circle(r) { this.r = r; } Circle.PI = 3.14159; Circl

js 面向对象 定义对象

js面向对象看了很多,却没有完全真正的理解,总是停留在一定的阶段,这次再认真看一下. 面向对象包含两种:定义类或对象:继承机制:都是通过工厂模式,构造函数,原型链,混合方法这四个阶段,原理也一样,只是实现细节有点不同 定义类或对象教程:http://www.w3school.com.cn/js/pro_js_object_defining.asp 思路:工厂模式--构造函数--原型链--混合方式,注意每个阶段的具体写法和不足 工厂模式(四个阶段):原始--工厂--传参--共享方法:方法名小写:不

JS面向对象编程:对象

一般面向过程的写法都是写很多function,坏处:1.代码复用不好 2.函数名称容易重复冲突 下面介绍面向对象的写法: 在JS中每个函数function都是一个对象. 比如,下面这个就是一个对象,我们在使用的时候就可以当作对象来使用. function HelloWorld() { alert('hello world!'); } 使用下面测试函数:调用该函数就会弹出'hello world!' function _test() { var obj = new HelloWorld(); //

js面向对象面试资料

js面向对象面试资料 1 说说你对闭包的理解 使用闭包主要是为了设计私有的方法和变量.闭包的优点是可以避免全局变量的污染,缺点是闭包会常驻内存,会增大内存使用量,使用不当很容易造成内存泄露. 闭包有三个特性: 1.函数嵌套函数 2.函数内部可以引用外部的参数和变量 3.参数和变量不会被垃圾回收机制回收 2.call() 和 .apply() 的区别和作用? 作用:动态改变某个类的某个方法的运行环境. 1.call,apply都属于Function.prototype的一个方法,它是JavaScr