`

js学习之function是对象

 
阅读更多

我们在定义一个function的时候,也就是产生了一个Function的实例,根据ECMAScript动态添加属性这个特性,我们可以这样  functionName.property = value 然后 可以  可以使用这个 function对象了。。

 

ECMA-262:对象是,无序属性的集合,其属性可以包含基本值,对象或者函数。我们可以把ECMAScript想象为,散列表,散列表就是一组名值对,其值可以是数据或者函数。

 

原型模式要解决的问题:

             几种创建对象的方式: 一 :可以使用Object构造函数创建对象,二:使用字面值来创建对象,三:使用工厂模式,四:构造函数模式,五:原型模式.

      var obj = new Object();

      obj.property = value;

      obj.functionName = function(){};

      这个会导致大量的重复代码

     var obj  ={property: value,functionName:function(){} }

    这个会导致大量的重复代码

   function createObj(){ var  obj = new Object();obj.property = value; obj.functionName=function(){};return  obj}  这个会导致不会知道对象的类型

       构造函数问题是:  function constructorName(){ this.property = value;var functionName = function(){}};这样每次创建对象的时候,都会创建一个function实例,没有必要这么做,可以把function提取出来作为公共的方法   这样每一个创建的对象都公用这一个公共的方法,解决的实例是这样的:function ConstructorName(){this.property = value;this.functionName = functionName}   function  functionName(){ this.property}  这样全局函数 就变为某个对象的函数了,失去了全局函数的作用 。  ;

  使用原型链来解决以上问题: function functionName(){this.property = value;}  functionName.prototype.functionName= function (){aler(this.property)};  call可以改变对象的作用域链

     

 

 

分享到:
评论

相关推荐

    JavaScript学习深入—面向对象编程

    ### JavaScript学习深入—面向对象编程 #### 一、JavaScript中的类型概述 JavaScript作为一种动态的、弱类型的语言,其核心特点之一在于它灵活的对象模型。尽管JavaScript的基础架构支持面向对象编程(OOP),但在...

    js 面向对象实例

    综合以上知识,`js 面向对象实例`涵盖了JavaScript中的面向对象编程基础,以及如何将这些概念应用到HTML5 Canvas的实践中。通过学习和实践这个实例,你不仅可以理解JavaScript的OOP机制,还能掌握如何利用Canvas API...

    Javascript面向对象编程.

    在提供的资源中,《代码之美》PDF文件可能包含了关于编程实践和代码风格的指导,而《Javascript面向对象编程》PPT可能更具体地阐述了JavaScript OOP的细节和示例。学习这些材料将有助于深入理解JavaScript的面向对象...

    JavaScript学习笔记之创建对象_.docx

    在JavaScript中,对象是核心概念之一,它们是无序属性的集合,允许我们存储和操作数据。对象的属性可以是基本值(如字符串、数字、布尔值)或更复杂的对象和函数,使得JavaScript具备强大的数据结构和面向对象编程...

    JavaScript学习笔记之Function对象

    在JavaScript中,函数(function)本质上是一种特殊的对象,我们称之为Function对象。它不仅可以像其他对象一样拥有属性和方法,还可以被赋值给变量,或者作为参数传递给其他函数。因此,JavaScript中的函数非常灵活...

    JS学习资料(自己整理)

    下面将根据"JS学习资料(自己整理)"的描述,深入探讨JavaScript的基础知识。 一、变量与数据类型 JavaScript 支持七种数据类型,包括两种原始类型:Undefined、Null、Boolean、Number、String、Symbol(ES6新增)...

    js 笔记 javascript 学习笔记

    本学习笔记将深入探讨JavaScript的核心概念,包括变量、数据类型、操作符、控制流程、函数、对象、数组、原型链、闭包等,并结合实际示例,如my.js、order.js、login.js等文件,来讲解其在实际项目中的应用。...

    JavaScript学习之二 — JavaScript创建对象的8种方式

    在JavaScript中,对象是数据和函数的集合,是实现面向对象编程的基础。本文将深入探讨JavaScript创建对象的8种常见方式,帮助你更好地理解和掌握这门动态类型的编程语言。 1. **字面量(Literal)方式** 这是最...

    JavaScript对象模型-执行模型

    JavaScript作为一种广泛使用的脚本语言,在其设计之初便提供了一系列的基本数据类型,这些类型构成了JS语言的基础,并且是理解和运用JS的重要基石。 ##### 1. 简单数值类型 - **Undefined**: 表示一个变量已经声明...

    原生JS原型对象练习

    这个练习旨在帮助学习者深入理解原型链的概念,这是JavaScript实现面向对象编程的核心部分。原生JS,即不依赖于像jQuery这样的库,让我们专注于JavaScript的基础和核心能力。 原型链是JavaScript中对象之间的引用...

    JavaScript学习基础学习心得

    浏览器是JavaScript运行的重要环境之一,了解其内部结构对于理解JavaScript的执行机制至关重要。 1. **Shell**:浏览器的用户界面部分。 2. **内核**: - **渲染引擎**:负责解析HTML和CSS,并将其渲染成可视化的...

    javascript_js学习教程

    此“javascript_js学习教程”是针对初学者精心设计的,来源于中兴通讯的内部培训资料,旨在帮助新入门的开发者快速掌握JavaScript的基础知识和实践技巧。 一、JavaScript基础 1. 变量与数据类型:JavaScript支持...

    js中function函数的使用方法.docx

    通过本文的学习,我们深入了解了JavaScript中`function`的多种使用方式及其应用场景。无论是基础的函数声明、构造器、闭包还是处理动态代码,掌握这些技巧都将极大地提升我们的编程能力。希望这些知识点能帮助你在...

    JavaScript核心对象参考手册

    3. **函数对象Function**: 在JavaScript中,函数是第一类对象,可以作为变量、参数和返回值。`Function.prototype`提供了`call`和`apply`方法,用于改变函数调用时的上下文。 4. **数组Array**: `Array`对象提供了...

    JS面向对象学习资料

    JavaScript,作为全球最广泛使用的编程语言之一,尤其在前端开发领域占据着主导地位。而面向对象(Object-Oriented Programming,简称OOP)是编程的一种重要范式,它基于类和对象的概念,允许我们创建复杂、可维护的...

    js中new一个对象的过程

    使用new操作符和构造函数是JavaScript中创建对象和实现继承的一种机制,这个机制非常重要,理解它对于深入学习和应用JavaScript是必不可少的。此外,也需要注意,尽管new操作符在JavaScript中非常强大,但在ES6以后...

    javascript function、指针及内置对象

    掌握JavaScript函数的使用、函数对象的性质以及JavaScript内置对象是学习JavaScript的基础。 ### 函数和函数对象(Function Object) 在JavaScript中,函数可以通过`function`关键字声明,也可以将函数赋值给变量...

Global site tag (gtag.js) - Google Analytics