javascript系列学习----对象相关概念理解

1、构造函数(相对于面向对象编程语言里面的类)

2、对象实例(它是由构造函数构造出来的对象,使用到关键字 new)

3、this关键字(往往是指我们的对象本身)

下面我们来看一个实例:

var Person = function Person(living, age, gender) {

    // "this" below is the new object that is being created (i.e. this = new Object();)

this.living = living;

this.age = age;

this.gender = gender;

this.getGender = function() {return this.gender;};

}

// when the function is called with the new keyword "this" is returned instead of false

// instantiate a Person object named cody

var cody = new Person(true, 33, ‘male‘);

// cody is an object and an instance of Person()

console.log(typeof cody); // logs object

console.log(cody); // logs the internal properties and values of cody

console.log(cody.constructor); // logs the Person() function

时间: 2024-07-29 12:36:20

javascript系列学习----对象相关概念理解的相关文章

javascript活动对象的理解——伪单例模式

在自己研究javascript各种设计模式的过程中,偶然写出的一段代码让自己理解的更深刻了,之所以称之为伪单例模式,是因为这段代码造成的结果很想单例模式,但是实际上是活动对象捣乱所造成的误会. 代码很简单是这样的: function Person(){ var money = 0; Person.prototype.getMoney = function (){ return money; } Person.prototype.addMoney = function (m){ money +=

谈谈对Javascript构造函数和原型对象的理解

对象,是javascript中非常重要的一个梗,是否能透彻的理解它直接关系到你对整个javascript体系的基础理解,说白了,javascript就是一群对象在搅..(哔!). 常用的几种对象创建模式 使用new关键字创建最基础的对象创建方式,无非就是和其他多数语言一样说的一样:没对象,你new一个呀! var gf = new Object(); gf.name = "tangwei"; gf.bar = "c++"; gf.sayWhat = function

03.JavaScript 面向对象精要--理解对象

JavaScript 面向对象精要--理解对象 尽管JavaScript里有大量内建引用类型,很可能你还是会频繁的创建自己的对象.JavaScript中的对象是动态的. 一.定义属性 当一个属性第1次被添加给对象时JavaScript在对上上调用了一个名为 [[Put]]的内部方法,该方法会在对象上创建一个新节点保存属性,就像 哈希表上第一次添加一个键一样这个操作不仅指定了初始值 也定义了属性的一些特征 1.1 [[Put]]内部方法 [[Put]]在对象上创建一个自有属性 1.2 [[Set]

自己理解的javascript 的对象和类理解

首先需要先理解类和对象的意义,我个人理解如下: 类:对象的抽象化: 对象:类的实体: javascript中没有class关键字和类的用法,只能用伪类来做类的,所以要用function来定义累的名字: 如: function myClass(){ this.name="张三"; } 这样myClass方法才能用原型连接 prototype:这样才能扩展此类: 也可以用 new myClass();这个类 javascript中有对象,简单的写法就是 var obj={name:&quo

关于JavaScript变量提升的理解

废话不说,直接上代码(这是在JavaScript面对对象编程指南上面看到的一个例子) var a=123; function f(){ alert(a); var a=1; alert(a); } f(); 书上的解释是这样的:当JavaScript执行过程进入新函数时,这个函数内被声明的所有变量都会被移动导到函数最开始的地方.这种现象叫做提升.且被提升的只有变量的声明. 上面这个例子可以等价于: var a=123;function f(){ var a; alert(a); a=1; ale

JavaScript arguments对象

1.在JavaScript中,arguments对象是比较特别的一个对象,实际上是当前函数的一个内置属性.arguments非常类似Array,但实际上又不是一个Array实例.可以通过如下代码得以证实(当然,实际上,在函数funcArg中,调用arguments是不必要写成funcArg.arguments,直接写arguments即可). 1 Array.prototype.testArg = "test"; 2 function funcArg() { 3 alert(funcA

JavaScript 模块化入门Ⅰ:理解模块

作为一名JS初学者.假如你听到了一些诸如"模块化构建&模块化载入" "Webpack&Browserify" 或者 "AMD&CMD"之类的术语,肯定瞬间就凌乱了. JavaScript的模块化听起来挺深奥,可其实理解它对开发者来说特别实用. 在这篇文章里,我会尽量深入浅出地把这些深奥的术语翻译成浅显易懂的人话(加上一些代码示例).希望你多少能从中学到点东西. 为了避免长篇大论,整个内容会分为两篇文章,这是第一部分,主要介

javascript this的范围理解

<html> <head> <title>javascript this的范围理解</title> </head> <body> <script type="text/javascript"> //在javascript中,函数总是在一个特殊的上下文执行(称为执行上下文),如果你将一个对象的函数赋值给另外一个变量的话,这个函数的执行上下文就变为这个变量的上下文了 window.name = "

JavaScript系列-----对象基于哈希存储(&lt;Key,Value&gt;之Key篇) (1)

1.Hash表的结构 首先,允许我们花一点时间来简单介绍hash表. 1.什么是hash表 hash表是一种二维结构,管理着一对对<Key,Value>这样的键值对,Hash表的结构如下图所示: 如上图所示,左侧部分是一个一维顺序存储的数组,数组单元格里的内容是指向另一个链式数组的指针.图中绿色部分是<Key,Value>,绿色部分右侧的白色部分是指向下一对键值对的指针. hash表的工作原理: (1).第一步 先根据给定的key和散列算法得到具体的散列值,也就是对应的数组下标.