面向对象定义内存中同时存储多个数据和功能的存储空间; 描述现实中一个具体事物的属性和功能的程序结构; 事物的属性,会成为对象中的属性; 事物的功能,会成为对象中的方法;使用在开始写程序前,都要先用对象,描述好要操作的事物的属性和功能; 再按需使用对象的功能,访问对象的属性本质js中一切对象的底层都是关联数组 每个属性/方法都是关联数组中的元素 属性名/方法名是key,属性值/函数对象是value三大特点封装 继承 多态...
我目前的编程风格是使用John Resig:http://ejohn.org/blog/simple-javascript-inheritance/的Class.extend函数的OO javascript 这很好,但我发现自己编写了许多只能在init上使用的setter和getter.此外,当将这些对象的实例存储在数组中供以后使用时,它似乎导致IE中的内存泄漏. 我开始倾向于使用更小,更清晰,更易读的代码而不是看似过度的OO方法.我的想法是现在使用jquery并使用.data方法存储数据属性,将所有内容都放在dom之外.例如,...
我是第一次尝试一些OO JS.这是我到目前为止所提出的:var myObj = { 1 site_url: window.location.protocol + "//" + window.location.hostname + "/", 2 site_host: window.location.hostname, 3 site_brand: this.readCookie('aCookieName'), 4 site_full_url: this.site_url + window.location.pathname, 5 /*** 6 Read a cookie by its name; 7 **/ 8 9 readCookie: function(name) { 10 var nameEQ = na...
对象之间“继承”的五种方法 比如现在有一个“动物”对象的构造函数function Animal(){this.species = "动物"; }还有一个“猫”对象的构造函数function Cat(name,color){this.name = name;this.color = color; }怎样才能使猫继承动物呢? 一;构造函数绑定 第一种方法也是最简单的方法,使用call或appl方法,将父对象的构造函数绑定在子对象上,即在子对象构造函数中加一行;function Cat(name,color){Animal.apply(this,arguments...
一、JavaScript中的基本数据类型 number(数值类型) string(字符串类型) boolean(布尔类型) null(空类型) undefined(未定义类型) object:一种复杂的数据类型,该类型实例化的对象是一组数据和功能的集合 二、创建对象 对象分为两种: 自定义对象 内置对象 1、自定义对象 创建自定义对象的最简单的方式就是使用操作符new创建一个Object的实例,然后通过“.”为其添加属性和方法 语法: var 对象名称=new Obje...
对象是什么?对象是包含相关属性和方法的集合体属性方法什么是面向对象面向对象仅仅是一个概念或者编程思想通过一种叫做原型的方式来实现面向对象编程 创建对象自定义对象内置对象 自定义对象2-1基于Object对象的方式创建对象 语法: var 对象名称=new Object( ); 示例:----------通过 . 添加属性和方法 var flower=new Object(); flower.name="长春花"; flower.genera="夹竹桃科 长春花属"; flower.area="非洲、亚热...
JavaScript 对象 JavaScript 中的所有事物都是对象:字符串、数值、数组、函数... 此外,JavaScript 允许自定义对象。 所有事物都是对象 JavaScript 提供多个内建对象,比如 String、Date、Array 等等。 对象只是带有属性和方法的特殊数据类型。布尔型可以是一个对象。 数字型可以是一个对象。 字符串也可以是一个对象 日期是一个对象 数学和正则表达式也是对象 数组是一个对象 甚至函数也可以是对象JavaScript 对象 对象只是一种特...
1.创建对象(1)自定义对象 语法:var 对象名称=new Object();(2)内置对象 String(字符串)对象. Date(对象)对象 Array(数组)对象 Bollean(逻辑)对象 Math (算数)对象 RegExp对象//例function an(name,pwd) { this.name=name; this.pwd=pwd; this.show=function () { alert("用户名:"+this.name+"\n密码:"+this.pwd); }}var an=new an("name","123"); an.show();2.构造函数(1)步骤: 创建一个新对象 将构...
《javascript面向对象编程指南》读书笔记《javascript面向对象编程指南》读书笔记第一章 面向对象的JavaScript 第二章 基本数据类型与流程控制变量 数据类型typeof 数字 字符串转义字符bool值逻辑运算符 比较运算符undefined与null 数组数组元素的增删改查 多维数组Map(ES6规范) Set(ES6规范)流程控制条件语句 循环语句第三章 函数函数定义 参数 返回值 内建函数 变量作用域 变量提升 匿名函数 回调函数 即时函数(自执行函数)...
面向对象编程 面向对象的编程,那么是更符合人类所接触的世界的逻辑思维。 将一个系统划分为各个子系统,子系统又由各个模块构成,将每个模块,系统划分为一个个对象,给这些对象赋予某些角色(属性/功能/方法)。 1 js创建对象的方式 (1) 字面量的方式 //字面量的形式 var student = {name:"蔡徐坤",type:"练习生",like:"唱跳rap篮球",rap:function(){console.log("鸡你太美")} }console.log(student) student.rap() 优...
这个系列的第一部分,主要介绍了如何"封装"数据和方法,以及如何从原型对象生成实例。 今天要介绍的是,对象之间的"继承"的五种方法。 比如,现在有一个"动物"对象的构造函数。function Animal(){this.species = "动物";}还有一个"猫"对象的构造函数。function Cat(name,color){this.name = name;this.color = color;}怎样才能使"猫"继承"动物"呢? 一、 构造函数绑定 第一种方法也是最简单的方法,使用call或apply方法,将父对象的...
总觉得自己弄明确了js中this的含义。this总是指向调用方法的对象,作为方法调用,那么this就是指实例化的对象。但前几天自己写脚本却遇到了一个非常奇怪的问题。 代码例如以下: //内部对象AutoCompleteInnerfunction AutoCompleteInner(transformResultInner){if(transformResultInner){this.transformResultInner=transformResultInner;} }AutoCompleteInner.prototype.transformResultInner = function() { alert("in...
面向对象的概述 ECMAScript 有两种开发模式:1.函数式(过程化),2.面向对象(OOP)。 面向对象的语言有一个标志,那就是类的概念,而通过类可以创建任意多个具有相同属性和方法的对象。但是,传统ECMAScript中 没有类的概念(ES6开始有),因此它的对象也与基于类的语言中的对象有所不同。 js是基于对象,不是面向对象的。不具备描述事物的能力。 第一种创建对象的方式 创建一个对象,然后给这个对象新建属性和方法 如果一个函数...
class Person{constructor(name,age){ //直接写属性this.name=name;this.age=age;console.log(a);}showName(){ //直接可以写方法return this.name}showAge(){return this.age}} class Student extends Person{ showJob(){// return this.job} }var xiaohua=new Student();//a var xiaolv=new Student();//a
<script> /* 定义一个函数 function 函数名(){ 代码块 } 需求1:写一个函数,实现1到100相加 */ function sum(){ var num = 0; for(i=1;i<=100;i++){ num += i; } console.log(num); } /* 调用函数,使用函数 函数名(); */ sum(); function fist(){ var a = 0; for(j=50;j<=500;j++){ a += j; } document.write(a+<br>)...