函数

作者: 李浩然_6fd1 | 来源:发表于2018-12-18 21:56 被阅读0次

1、函数体中,遇到return,函数完毕;
2、关键字arguments,只在函数中使用,并且指向当前函数的调用者传入的所有参数
3、小心return语句:
如果这样写:

function foo() {
    return
        { name: 'foo' };
}
调用foo()的结果是undefined,因为return语句后面会自动加上;,所以如果return后面没有东西,会自动生成;形成一个语句而忽略了下面的语句;

所以可以这样写:

function foo() {
    return { // 这里不会自动加分号,因为{表示语句尚未结束
        name: 'foo'
    };
}

3、变量提升
JavaScript的函数定义有个特点,它会先扫描整个函数体的语句,把所有申明的变量“提升”到函数顶部,但是变量的赋值不会被提升:

function foo() {
    var x = 'Hello, ' + y;
    console.log(x);
    var y = 'Bob';
}

foo();

上面语句的结果为:

Hello, undefined

虽然变量y在最后申明了,但是会自动y的申明,但是y的赋值不会被自动提升。
4、小技巧:
关于名字:全局变量会绑定到window上,如果使用了相同名字的全局变量,就会造成冲突;
可以自己定义一个全局变量,然后把其他所有的变量和函数都绑定到这个全局变量上:

// 唯一的全局变量MYAPP:
var MYAPP = {};

// 其他变量:
MYAPP.name = 'myapp';
MYAPP.version = 1.0;

// 其他函数:
MYAPP.foo = function () {
    return 'foo';
};

这样会减少全局变量冲突的可能
5、用全部大写来表示变量名:

var PI = 3.14;

也可以用关键字const来定义常量:

const PI = 3.14;

6、解构赋值:
可以同时对一组变量进行赋值。
传统的做法,把一个数组的元素分别赋值给几个变量:

var array = ['hello', 'JavaScript', 'ES6'];
var x = array[0];
var y = array[1];
var z = array[2];

这样会很麻烦,如果一个浏览器支持解构赋值,那么就简单了:

var [x, y, z] = ['hello', 'JavaScript', 'ES6'];

相关文章

  • Excel(三)

    AND函数 OR函数 NOT函数 IF函数 频率分析函数FREQUENCY

  • if、else if、for、while、repeat函数

    ①if函数 ②else if函数 ③for函数 ④while函数 ⑤repeat函数

  • strsplit、mapply、paste、match函数

    strsplit函数 mapply函数 strsplit函数 mapply函数 paste函数 match函数 第...

  • Oracle中常用函数(SQL)

    Oracle函授有以下几个分类:数字函数、字符函数、日期函数、转换函数、集合函数、分析函数 数字函数: 字符函数:...

  • MySQL函数

    字符函数 数字运算函数 比较运算符和函数 日期时间函数 信息函数 聚合函数 加密函数 流程函数

  • BI-SQL丨AND & OR & IN

    AND函数 & OR函数 & IN函数 AND函数、OR函数和IN函数都可以理解是WHERE函数的补充,当然也可以...

  • Python之函数

    课程大纲 函数定义 函数的参数 函数的返回值 高阶函数 函数作用域 递归函数 匿名函数 内置函数 函数式编程 将函...

  • 函数基本知识

    函数 函数的定义: def 函数名() 函数的调用:函数名() #不能将函数调用放在函数定义上方 函数的文档注...

  • 积分表——不定期更新

    基本初等函数包括: 常函数: 幂函数 指数函数 对数函数 三角函数 反三角函数 I、反函数Ⅱ、复合函数:初等函数(...

  • MySQL基本使用

    函数 常用函数 数学函数 字符串函数 日期函数

网友评论

      本文标题:函数

      本文链接:https://www.haomeiwen.com/subject/urfrkqtx.html