JavaScript 学习笔记

作用域

没有块级作用域
使用一个变量时,不加 var 代表这是一个全局变量
作用域链

JavaScript 中有一个执行环境的概念,每一个环境都有一个“变量对象”,在这个环境下的变量都会保存在这个对象中。运行时,执行环境是嵌套的,最顶层的即为全局环境,这里保存着全局变量。全局环境下面一般是函数环境,这里保存着函数中的局部变量。当使用一个变量时,首先在当前环境查找这个变量,如果找不到,就在其外部的环境下寻找,依此类推……即作用域链。

Array

Sort()

Array 的重排方法,可以给一个 Array 中元素重新排序:

someArray.sort();

可以给 sort() 传入一个排序函数:

someArray.sort(function (value0, value1){
    if (value0 < value1)
        return -1;
    else if (value0> value1)
        return 1;
    else
        return 0;
});

这个排序函数返回一个正数或者负数或者 0,用来指定排序策略。
如果要把一个有序的数组乱序,就可以给它传入一个“乱”的“策略函数”:

someArray.sort(function(){
    Math.random() > 0.5 ? -1 : 1;
});
迭代函数

JavaScript 数组内置了几个遍历函数:

every();
filter();
forEach();
map();
some();

它们的返回值不同。同时,它们都能接受一个参数,这个参数是一个处理每一个数组元素的函数 :

someArray.map(function(item, index, array){
    //实现
});

其中,item 为数组的每一个元素, index 为索引,array 是这个数组。

(未完待续)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 参考 学习网站 廖雪峰的JavaScript教程 w3cshool 阮一峰的JavaScript全栈工程师培训教程...
    HuangJn阅读 353评论 0 1
  • JS中定义函数的方式与其他语言一样没什么差别,但是要知道JS允许传入任意个数参数,如果传入的参数比定义的参数多也没...
    阳明先生1208阅读 376评论 0 0
  • Learn JS NoteBook 基本概念 1.变量: (1)js的变量是松散类型的,可以用来保存任何类型的数据...
    冰镇小笼包阅读 935评论 0 20
  • 学习材料————廖雪峰js教程 数据类型 ===与== == 自动转换数据类型再比较;=== 不转换类型 (更好...
    ccminn阅读 1,798评论 0 4
  • JavaScript学习笔记-(函数) 函数 1.函数的定义和调用 1. (x)括号内列出函数的参数,多个参数以,...
    locoo阅读 610评论 0 0