`

Javascript 对象 (四)

阅读更多

函数返回对象

可以用构造函数来创建个对象,也可以通过普通函数返回对象来创建对象

Js代码 复制代码
  1. function factory(name){   
  2.    return {   
  3.      name:name   
  4.   };   
  5. }  
function factory(name){
   return {
     name:name
  };
}

用这个方法创建对象

Js代码 复制代码
  1. var o = factory('one');   
  2. o.name  
var o = factory('one');
o.name

让我们接下来看看比较少见的构造函数返回对象的例子

Js代码 复制代码
  1. function C(){   
  2.   this.a = 1;   
  3.   return {b:2};   
  4. }   
  5.   
  6. var c2 = new C();   
  7. typeof c2.a //undefined   
  8. c2.b; // 2  
function C(){
  this.a = 1;
  return {b:2};
}

var c2 = new C();
typeof c2.a //undefined
c2.b; // 2

 说明了 并不返回this了 而是返回了对象{b:2}。。这点要注意

 

传递对象

如果传递一个对象到函数里,那么传递的是个引用。如果改变了这个引用,也就会改变原始的对象。

下面是个对象赋值的例子

Js代码 复制代码
  1. var original = {name:'nicholas'};   
  2. var copy =original;   
  3. copy.name;//'nicholas';   
  4. copy.name = 'Jason';   
  5. original.name;// 'Jason';  
var original = {name:'nicholas'};
var copy =original;
copy.name;//'nicholas';
copy.name = 'Jason';
original.name;// 'Jason';

 

修改了copy的属性name 也就等于修改了original的属性name

对象传参到函数中,也是同样的。

Js代码 复制代码
  1. function modify(o){   
  2.    o.name ='Jason'  
  3. }   
  4. var original={name:'nicholas'};   
  5. modify(original);   
  6. original.name;//Jason  
function modify(o){
   o.name ='Jason'
}
var original={name:'nicholas'};
modify(original);
original.name;//Jason

 

对象的比较

两个对象的比较如果是true的话,那么他们就是同一个对象的引用。

Js代码 复制代码
  1. var fido ={breed:'dog'};   
  2. var benji ={breed:'dog'};   
  3.   
  4. benji===fido; //false;   
  5. benji==fido; //false;  
var fido ={breed:'dog'};
var benji ={breed:'dog'};

benji===fido; //false;
benji==fido; //false;

 以上的代码都不是同一引用,所以都是false

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    javascript对象转换成json

    在JavaScript中,我们可以使用内置的`JSON.stringify()`方法将JavaScript对象转换为JSON字符串。 ### JSON.stringify()方法 `JSON.stringify()`是JavaScript中的全局函数,用于将JavaScript值转换为JSON字符串。它...

    javascript对象参考手册

    JavaScript对象是编程语言的核心组成部分,尤其在Web开发中扮演着至关重要的角色。"JavaScript对象参考手册"涵盖了这一主题的广泛内容,旨在为开发者提供全面、深入的理解和实用指南。手册分为20个章节,不仅涉及...

    Javascript面向对象编程.

    面向对象编程(Object-Oriented Programming,OOP)是编程的一种重要范式,JavaScript也完全支持这一特性,尽管它并非一种传统的静态类型语言。这篇博客文章可能详细讨论了如何在JavaScript中实现面向对象编程。 在...

    04 第四章 JavaScript对象及初识面向对象.md

    04 第四章 JavaScript对象及初识面向对象.md

    第8节 JavaScript对象.rar

    第8节 JavaScript对象.rar第8节 JavaScript对象.rar第8节 JavaScript对象.rar第8节 JavaScript对象.rar第8节 JavaScript对象.rar第8节 JavaScript对象.rar第8节 JavaScript对象.rar第8节 JavaScript对象.rar第8节 ...

    面向对象JavaScript精要(英文原版pdf)

    ### 面向对象JavaScript精要 #### 一、书籍概览 本书《面向对象JavaScript精要》由Nicholas C. Zakas编写,是面向对象编程领域中的权威指南之一,尤其针对JavaScript这门语言。作者深入浅出地介绍了面向对象编程的...

    JavaScript对象笔记.rar

    什么是对象 简单点说,编程语言中的对象是对现实中事物的简化。例如,我们一个人就是一个对象,但是编程...在后面的JavaScript对象笔记中,记录了菜鸟在学习JavaScript对象的大多数资源,希望这些资源对你也有价值。

    深入浅出JavaScript对象模型

    ### 深入浅出JavaScript对象模型 #### JavaScript对象的本质 根据ECMA262规范,ECMAScript被定义为一种基于对象的语言而非传统的面向对象语言。这意味着在JavaScript中,对象被视为存储数据的一种大型数组形式,...

    JavaScript之Date对象(源代码)

    JavaScript之Date对象(源代码)JavaScript之Date对象(源代码)JavaScript之Date对象(源代码)JavaScript之Date对象(源代码)JavaScript之Date对象(源代码)JavaScript之Date对象(源代码)JavaScript之Date对象...

    JavaScript对象模型

    ### JavaScript对象模型详解 #### 一、概述 在JavaScript中,对象模型是其核心特性之一,它决定了数据的存储方式以及程序的运行机制。本文旨在深入解析JavaScript对象模型的关键概念,包括基本数据类型、对象、...

    JavaScript面向对象的支持

    JavaScript是一种广泛应用于Web开发的脚本语言,它虽然支持面向对象编程,但其面向对象的实现方式与其他传统面向对象语言(如Java或C++)有所不同。JavaScript中的面向对象特性主要体现在以下几个方面: 1. **基于...

    JAVASCRIPT 面向对象编程精要

    #### 四、面向对象特性 JavaScript提供了几种面向对象的机制,包括继承和封装。 ##### 4.1 封装 JavaScript中的封装主要通过闭包实现。例如,可以创建一个返回私有属性和方法的对象的函数: ```javascript function...

    JavaScript对象创建总结

    javascript对象创建方法总结,通过这些方法的总结,可以对对象有了更深一步的了解,也加深了对对象的巩固认识。

    JavaScript内置对象(ppt)

    JavaScript内置对象(ppt)JavaScript内置对象(ppt)JavaScript内置对象(ppt)JavaScript内置对象(ppt)JavaScript内置对象(ppt)JavaScript内置对象(ppt)JavaScript内置对象(ppt)JavaScript内置对象(ppt)...

    javascript对象大全

    ### JavaScript对象大全详解 #### 一、JavaScript简介 JavaScript 是一种强大的、解释型的脚本语言,由 Netscape 公司开发,最初被命名为 LiveScript。随着 Web 技术的发展,JavaScript 成为了网页开发中不可或缺...

    04JavaScript对象相关内容总结.docx

    JavaScript对象是编程中的一种核心概念,它是一种复合数据类型,能够存储多个不同数据类型的属性。在JavaScript中,对象可以通过多种方式创建,其中一种常见的方法是使用`new`关键字和构造函数,例如`new Object()`...

    JavaScript内置对象相关介绍及用法

    JavaScript内置对象相关介绍及用法ppt JavaScript内置对象相关介绍及用法

    JavaScript面向对象编程指南.pdf

    JavaScript作为一门浏览器语言的核心思想;面向对象编程的基础知识及其在... 《JavaScript面向对象编程指南》着重介绍JavaScript在面向对象方面的特性,展示如何构建强健的、可维护的、功能强大的应用程序及程序库

    JavaScript面向对象编程指南

    《JavaScript面向对象编程指南》内容包括:JavaScript作为一门浏览器语言的核心思想;面向对象编程的基础知识及其在JavaScript中的运用;数据类型、操作符以及流程控制语句;函数、闭包、对象和原型等概念,以代码...

Global site tag (gtag.js) - Google Analytics