JavaScript面向对象

最笨的写法:

function Foo(n) {
    this.name = n;
    this.sayName = function() {
        console.log(this.name);
    }
}

var obj1 = new Foo("we");
obj1.name
obj1.sayName()

var obj2 = new Foo("wee");
obj2.name
obj2.sayName()

如果仔细观察,会发现一个缺点,就是sayName的方法重复定义,浪费内存空间。只需要定义一次方法就行
a、this代指对象(Python  self)
b、创建对象时,new 函数()

改造为:
JavaScript原型

function Foo(n) {
    this.name = n;
}
#Foo就是原型,只创建一次方法
Foo.prototype = {
    'sayName': function() {
         console.log(this.name);
     }
}

var obj1 = new Foo("we");
obj1.sayName()
var obj2 = new Foo("wee");
obj2.sayName()

这样调用sayName(),只定义了一次

Python面向对象

Python是这样写(sayName只创建一次):

class Foo:
        def __init__(self, name):
            self.name = name

def sayName(self):
            print(self.name)

obj1 = Foo("we")
obj2 = Foo("wee")

setInterval
clearInterval
永远执行

setTimeout
clearTimeout
只执行一次

举例:
function deleteEle() {
    setTimeout(function() {
        document.getElementById("status").innerText = "已删除"
    }, 5000)
}

innerText只包含文字
innerHtml不仅包含文字,还包含标签

JavaScript面向对象及原型 及setTimeout相关推荐

  1. JavaScript 面向对象 (prototype 原型模式)

    一. JavaScript 设计思想 1994年,网景公司(Netscape)发布了Navigator浏览器0.9版.这是历史上第一个比较成熟的网络浏览器,轰动一时.但是,这个版本的浏览器只能用来浏览 ...

  2. 有关javaScript面向对象和原型笔记

    javaScript是一种比较特殊的语言,ECMAScript中没有类的概念,跟其他面向对象的语言有一定的区别,它的对象也与基于类的语言中的对象有所不同,严格来说,javascript对象是一组没有特 ...

  3. 快速理解JavaScript面向对象编程—原型

    总的来说js语言就是门面向对象编程的语言,对象这个概念几乎贯穿了整个js的学习. 对象 创建对象两种方法:(若要生成对象实例必须调用构造函数) 1.var obj = {name:"jer& ...

  4. JavaScript面向对象和原型函数

    对象,是javascript中非常重要的一个梗,是否能透彻的理解它直接关系到你对整个javascript体系的基础理解,说白了,javascript就是一群对象在搅..(哔!). 常用的几种对象创建模 ...

  5. javascript面向对象系列第一篇——构造函数和原型对象

    前面的话 一般地,javascript使用构造函数和原型对象来进行面向对象编程,它们的表现与其他面向对象编程语言中的类相似又不同.本文将详细介绍如何用构造函数和原型对象来创建对象 构造函数 构造函数是 ...

  6. javascript 面向对象编程(工厂模式、构造函数模式、原型模式)

    javascript 面向对象编程(工厂模式.构造函数模式.原型模式) CreateTime--2018年3月29日17:09:38 Author:Marydon 一.工厂模式 /*** 工厂模式*/ ...

  7. JavaScript 面向对象编程(二) —— 构造函数 / 原型 / 继承 / ES5 新增方法

    本篇为 JavaScript 进阶 ES6 系列笔记第二篇,将陆续更新后续内容.参考:JavaScript 进阶面向对象 ES6 :ECMAScript 6 入门 : Javascript 继承机制的 ...

  8. JavaScript之面向对象与原型笔记整理--------创建对象之原型(2)

    4.原型 每个函数都有一个prototype属性,这个属性是一个对象,用途是包含可以由特定类型的所有实例共享的属性和方法. 逻辑上可以这么理解:prototype通过调用构造函数而创建的那个对象的原型 ...

  9. javascript 面向对象 new 关键字 原型链 构造函数

    JavaScript面向对象 JavaScript 语言使用构造函数(constructor)作为对象的模板.所谓"构造函数",就是专门用来生成实例对象的函数.它就是对象的模板,描 ...

最新文章

  1. 当前标识(NT AUTHORITY\NETWORK SERVICE)没有对“的写访问权限。
  2. Sql Server 2005 ROW_NUMBER 函数实现分页
  3. 推荐的版本 lock 语句(C# 参考)
  4. mysql group by having count_mysql中count(), group by, order by使用详解
  5. C语言学习之编写一个C程序,运行时输人abc三个值,输出其中值最大者。
  6. 同层物体间的遮挡处理
  7. Mybatis-Plus的SQL语句组拼原理
  8. 计算机中汉字用什么表示什么,在计算机中汉字是用几个字节表示
  9. Scroll View 使用心得
  10. 关于软件测试里面的Fault Error Failure 差别
  11. pycharm调节字体大小
  12. HighCharts:柱状图设置不同柱子不同颜色
  13. ajax上传图片的方法,ajax上传图片的方法
  14. Android Binder机制详解
  15. opencv 绘制内切圆
  16. 无法打开ONEDRIVE的解决方法【等待验证】
  17. 【历史上的今天】2 月 9 日:世界上第一位计算机科学博士出生;微软发布 Surface Pro;Google Buzz 问世
  18. 红帽操作系统 RHEL 8.1 官方ISO镜像下载
  19. Excel表格如何快速将表格打印在一页纸上
  20. 指南:情人节表白h5源码

热门文章

  1. 前端校招准备--HTTP相关面试题总结
  2. Mozilla 宣布引入二步认证
  3. g++使用C++11编译源文件
  4. 2435: [Noi2011]道路修建
  5. 你好,C++(18) 到底要不要买这个西瓜?4.1.6 操作符之间的优先顺序
  6. puppet-dashboard 安装(草稿)
  7. N900 Dual boot(meego maemo)
  8. C#只允许启动一个WinFrom进程
  9. tomcat and server configuration for loadrunner test
  10. linux shell 字符串 文件内容 大小写 转换 替换