`
Lewiss
  • 浏览: 20480 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

JavaScript 语句/重载/函数/闭包

阅读更多
1. if 语句
    语法 :if (condition) statement1 else statement2
    其中 condition 可以是任何表达式,计算的结果甚至不必是 Boolean 值,ECMAScript 会把它转换成 Boolean 值。这点在 for 语句和 while 语句中的条件判断处理时一样的。

2. break 语句和 continue 语句
    break 语句可以立即退出循环,阻止再次反复执行任何代码,而 continue 语句只是退出当前循环,根据控制表达式还允许继续执行下一次循环。

3. with 语句
    with 语句用于设置代码在特定对象中的作用域。with 语句是运行缓慢的代码段,尤其是在已设置了属性值时,应尽量避免使用。

4. 函数
    在函数声明中不必声明返回类型,可以在函数体中返回任何类型。如果函数无明确的返回值,或调用了没有参数的 return 语句,那么它真正返回的值是 undefined。

5. 无重载
    ECMAScript 总的函数不能重载(当让,重载不会出错),但是如果出现相同名字的函数的话,ECMAScript 将使用最后一个函数,并且所传的参数将方法参数从第一个开始对应。如:
    function add(a,b){ return a + b;}
    function add(a){return 10 + a;}
    add(5,6) 返回的结果是 15。
    因为使用了最后一个函数 add(a),并且传的参数 5 和 6 中, 5 和方法参数 a 对应,所以得到结果是 15。

6. arguments 对象
    ECMAScript 函数虽然没有重载功能,但是 arguments 对象很好的弥补了这点。ECMAScript 声明函数时,不必声明参数序列,当调用该函数并传进参数时,所有这些参数会被自动封装到一个 arguments 的数组对象中,同时该对象又被传进函数里,arguments[0] 对应传进来的第一个参数,依次类推,在函数体内访问 arguments 对象,既可得到想要的参数。
  与其他程序设计语言不同, ECMAScript 不会验证传递给函数的参数个数是否等于函数定义的参数个数。开发者定义的的函数都可以接受任意个数的参数(根据 Netscape 的文档,最多能接受 25 个),而不会引发任何错误。任何遗漏的参数都会以 undefined 传递给函数,多余的参数将被忽略。

7. Function 类
    ECMAScript 最令人感兴趣的可能莫过于函数实际上是功能完整的对象。Function 类可以表示开发者定义的任何函数。函数名只是指向函数对象的引用值,行为就像其他指针一样。甚至可以使两个变量指向同一个函数。所有函数都应该看作室 Function 类的实例。
    注意,尽管可以用 Function 构造函数创建函数,但最好不要使用它,因为它定义的函数比用传统方式要慢得多。
    因为函数时引用类型,所以它们也有属性和方法。

8. 闭包
    所谓闭包,是指词法表示包括不必计算的变量的函数,也就是说,该函数能使用函数外定义的变量。如:
    var sMessage = "Hello World!";
    function sayHelloWorld(){ alert(sMessage);}

    var iBaseNum = 10;
    function addNumbers(iNum1, iNum2){
        function doAddition(){
            return iNum1 + iNum2 + iBaseNum;
        }
        doAddition();
    }
    这里,函数 addNumbers() 包括函数 doAddition()(闭包)。内部函数诗歌闭包,因为它将获取外部函数的参数  iNum1 和 iNum2 以及全局变量 iBaseNum 的值。
分享到:
评论

相关推荐

    JavaScript 基本语法 高级语法 自定义函数下载

    3. **函数重载**:虽然JavaScript不直接支持函数重载,但可以通过检查传入参数的类型或数量来模拟实现。 4. **高阶函数**:接受函数作为参数或返回函数的函数,如`map`、`filter`、`reduce`等。 5. **函数柯里化**...

    JavaScript函数重载操作实例浅析

    此外,它也可能会引起性能问题,因为每次调用重载函数时,都可能涉及到对原函数的闭包封装,这在频繁调用的情况下可能会带来性能开销。因此,在决定使用闭包来实现函数重载之前,需要仔细权衡其带来的灵活性、复杂性...

    JAVA SCRIPT 函数 完整 版

    7. **闭包**:JavaScript的函数能够访问并操作其定义时的作用域,即使在函数调用后,这种特性称为闭包,常用于实现私有变量和模块化。 8. **高阶函数**:接受函数作为参数或者返回函数的函数,例如`map`、`filter`...

    Javascript函数

    以上只是JavaScript函数使用的一部分,还有更多高级特性和技巧,如默认参数、剩余参数、参数解构、函数重载等,等待开发者去探索和应用。理解并熟练掌握JavaScript函数,对于任何JavaScript开发者来说都是至关重要的...

    浅谈JavaScript function函数种类

    在探讨JavaScript函数的种类之前,我们先了解JavaScript中的函数没有重载的概念。在其他一些语言中,如果定义了相同函数名但参数签名不同的多个函数,根据传入参数的不同,会选择适当的函数进行调用。但在JavaScript...

    JavaScript函数

    另外,JavaScript函数可以使用`return`语句来终止函数执行并返回一个值。如果没有`return`语句或者`return`后面没有表达式,函数将默认返回`undefined`。 函数还有闭包的概念,它允许函数访问并操作其词法作用域内...

    JavaScript20200524.zip

    "js的重载"可能涉及函数重载的概念,虽然JavaScript不直接支持函数重载,但可以通过不同的参数数量或类型实现类似效果。 最后,"js的局部变量"是函数内部声明的变量,仅在该函数内部可见,这是理解作用域和闭包的...

    javascript匿名函数实例分析

    函数是JavaScript中最基础且最重要的组成部分,它可以封装任意多条语句,并在需要的时候执行。本文将围绕JavaScript的匿名函数展开,通过实例分析,详细介绍匿名函数的定义、用法以及需要注意的事项。 首先,...

    JavaScript中的Function函数

    - **覆盖**:JavaScript中没有函数重载,后定义的同名函数会覆盖前面的。 - **arguments对象**:当传入的参数数量多于定义的参数时,可以通过`arguments`对象访问额外的参数,如`showNames('张三', '李四', '王五'...

    javascript和vbscript脚本集

    3. 函数:声明函数、匿名函数、函数表达式、作用域、闭包。 4. 对象和原型:面向对象编程、构造函数、原型链、继承。 5. DOM 操作:查找、创建、修改、删除 HTML 元素。 6. BOM(浏览器对象模型):处理窗口、历史、...

    javascript教程

    JavaScript并不支持传统的函数重载概念,即不能基于不同的参数类型或数量来区分同名函数。然而,可以通过定义同名函数来实现某种形式的“覆盖”,后定义的函数会覆盖前一个同名函数。 #### arguments对象 `...

    JavaScript语言的进化和选择 .pdf ppt

    - **函数式编程**:JavaScript允许使用函数作为一等公民,支持匿名函数、闭包等特性。 - **动态特性**:JavaScript具有动态绑定、动态执行等特性,这使得它非常适合Web开发。 - **ECMAScript版本演进**: - **v1.0*...

    Javascript数组操作高级心得整理

    2. JavaScript语句与注释 5 (1) JavaScript语句结束符 5 (2) JavaScript代码块 5 (3) JavaScript注释 5 (4) JavaScript变量 5  变量命名规则 5  申明或创建变量 5  重新申明变量 5 3. JavaScript运算符 5 (1) ...

    JavaScript_这是一份与维杰酒有关的好东西的精选清单.zip

    5. **闭包**:闭包是JavaScript中一个重要的概念,它允许函数访问并操作外部作用域的变量,即使在其外部函数已经执行完毕后。 6. **原型和原型链**:JavaScript的对象可以通过原型链共享属性和方法,这使得继承变得...

    Secrets of the JavaScript Ninja (Manning MEAP 2009).pdf 电子书

    - **函数重载**:探讨了如何根据传入参数的不同执行不同的行为。 - **函数长度**:解释了如何获取函数预期参数的数量。 - **函数类型**:介绍了如何判断函数的类型或来源。 #### 四、闭包 - **闭包的工作原理**:...

    JavaScript王者归来part.1 总数2

     5.3 函数类型--一个函数和闭包的例子   5.4 神奇的null和undefined   5.4.1 null   5.4.2 undefined--独一无二的类型   5.5 正则表达式   5.5.1 正则表达式常量   5.5.2 正则表达式对象   5.6 值...

    javascript

    在JavaScript中,基础知识点包括变量、数据类型(包括基本类型和引用类型)、运算符、控制流程(条件语句、循环语句)、函数、对象和数组。深入学习时,会接触到原型链、闭包、异步编程(包括Promise和async/await)...

    JavaScript中使用参数个数实现重载功能

    在JavaScript中,重载(Overload)通常是指在同一个作用域内定义多个同名函数,但每个函数的参数列表不同,以实现不同的功能。然而,与静态类型语言不同,JavaScript本身并不直接支持函数重载。但通过一些技巧,我们...

Global site tag (gtag.js) - Google Analytics