`
zha_zi
  • 浏览: 592749 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

js 面向对象学习4 function 和闭包

 
阅读更多

    Ecmascript 最令人兴奋之处莫过于函数,实际上是功能完整的对象,它是ecmascript 的核心。

Ecmascript函数是不能重载的。例如

function doShow(i){
     console.log(i);
}
function doShow(i){
    console.log(i*2);
}

 调用 do(10) 的时候结果是20 应为第二个do函数会覆盖第一个do函数。

arguments 对象

在函数代码中可以使用一个特殊的对象arguments,开发者无需指定参数名称就可以直接调用参数,例如

function show(){
    if(arguments.length==1){
          console.log(arguments[0]);
    }else if(arguments.length==2){
         console.log(arguments[1]);

    }

}

 当调用show("123"),和调用 show("123","456") 的时候就会参数不同的效果等同于变相实现了函数的重载

Function 类

   function 实际上就是功能完整的对象,Function类可以表示开发者定义的任何函数。例如

function show(age,name){
     console.log("this age:"+age);
          console.log("this name:"+name);
}

   等同于

var show=new Function(age,name){
console.log("this age:"+age);
          console.log("this name:"+name);
}

 尽管可以使用Function 构建函数,但是最好不要使用Function 来构建函数,应为他的效率远远低于传统的方式。因为函数是引用类型所以他们也有属性和方法,ecmascript 中定义的属性length 声明了函数期望参数的个数。例如

 

function fun(f){

}
function func(f2){

}
console.log(fun.length);//1
console.log(func.length);//0

 Ecmascript 规定可以定义任何参数,但是最多数量不能超过25个,属性length给查看预期参数提供一个方便的方式。

valueOf‘ 和toString 方法 任何函数也共享object 的valueof 和toString 方法,两个方法都是返回函数的源代码。

 

闭包

 

分享到:
评论

相关推荐

    JS面向对象经典案例

    在本文中,我们将介绍JavaScript面向对象编程中的经典案例,包括对象、类、继承、原型链和闭包等概念。 一、对象和类 在JavaScript中,对象是指一个实体,可以拥有自己的属性和方法。对象可以使用工厂函数或构造...

    Javascript面向对象编程.

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

    JAVASCRIPT 面向对象编程精要

    本文介绍了JavaScript面向对象编程的基本概念和技术细节,包括变量和对象的基础用法、函数的作用以及如何通过封装和继承来构建复杂的对象层次结构。JavaScript的独特之处在于它的灵活性和动态性,这使得它成为了一种...

    Javascript 面向对象的JavaScript进阶

    ### JavaScript面向对象进阶知识点详解 #### 8.1 面向对象编程的基本特性 在探讨面向对象的JavaScript之前,我们首先需要了解面向对象编程(Object-Oriented Programming, OOP)的基本特性:封装性、抽象性、继承...

    JavaScript面向对象编程指南.pdf

    JavaScript面向对象编程是指在JavaScript语言中使用面向对象的方法来编写程序。JavaScript是一种高级的、解释型的编程语言,它支持面向对象的编程范式,允许开发者创建对象、使用继承和多态等面向对象的特性。以下是...

    JavaScript面向对象编程指南

    JavaScript是一种广泛应用于Web开发的动态编程语言,尤其在构建交互式网页和富互联网应用...《JavaScript面向对象编程指南》这本书将帮助你进一步探索这个主题,通过实例和详细的解释,提升你的JavaScript编程技能。

    面向对象JavaScript开发

    在JavaScript中,面向对象主要通过构造函数、原型链、原型对象和闭包等机制来实现。 1. **构造函数**:构造函数在JavaScript中扮演着类的角色,它们通常用来初始化新创建的对象。我们可以通过`new`关键字调用构造...

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

    ### JavaScript面向对象精要 #### 一、概述 《JavaScript面向对象精要》是一本深入讲解JavaScript面向对象编程原理的专业书籍。本书由知名的前端开发者Nicholas C. Zakas撰写,全面介绍了JavaScript作为一种动态...

    JS面向对象学习资料

    在JavaScript中,面向对象编程主要体现在三个方面:构造函数、原型和原型链以及闭包。以下是对这些概念的详细解释: 1. **构造函数**: 在JavaScript中,构造函数是一种特殊类型的函数,用于初始化一个新创建的...

    Javascript面向对象编程

    ### JavaScript面向对象编程详解 #### 一、引言 JavaScript作为一种广泛使用的脚本语言,在Web开发领域占据着举足轻重的地位。尽管JavaScript本质上是一种基于原型的语言,但它也支持面向对象编程的一些特性,使得...

    JavaScript面向对象编程

    JavaScript面向对象编程是一种基于原型(Prototype)的编程范式,它是动态类型语言,允许开发者创建具有复杂特性的对象。在JavaScript中,面向对象主要通过构造函数、原型链和闭包来实现。以下是对这一主题的详细...

    javascript面向对象编程

    JavaScript是一种广泛应用于Web开发的动态、弱类型、基于原型的脚本语言,它不仅支持函数式编程,还具有强大的面向对象编程能力...通过阅读《javascript面向对象编程.pdf》这样的资料,你可以深入理解并掌握这些概念。

    JavaScript面向对象的支持

    在JavaScript中,面向对象主要依赖于对象(Object)和函数(Function)。尽管JavaScript被称作是基于对象的语言,但对象并非第一类公民,而是函数。这意味着函数在JavaScript中具有特殊地位,不仅可以作为值传递,还...

    深度探讨javascript函数的原型链和闭包

    总结一下,JavaScript中的函数不仅是一种数据类型,还是实现面向对象编程的核心工具。通过原型链,我们可以实现基于原型的继承;通过闭包,我们能够控制作用域和访问变量,提升代码的复用性。理解和掌握这些概念,将...

    JavaScript面向对象编程案例

    学习JavaScript面向对象编程,不仅有助于理解代码的结构和复用性,还有助于提高编程效率和代码质量。通过阅读和实践这些案例,你可以逐步掌握如何创建、继承和操作JavaScript对象,从而成为一名更出色的JavaScript...

    js真正了解面向对象.pdf

    以下是一些关于JavaScript面向对象的知识点: 1. 数据类型: JavaScript具有五种基本数据类型:number、string、boolean、object和undefined。其中,object类型包含了如Date、Array、Math等内置对象类,以及自定义...

    js命名空间和闭包

    在许多面向对象的编程语言中,命名空间是一种组织和隔离全局变量的机制,以避免命名冲突。然而,JavaScript并没有原生支持命名空间,但它可以通过模拟实现,常见的方法有对象字面量、立即执行函数表达式(IIFE)和...

Global site tag (gtag.js) - Google Analytics