跟着廖雪峰学 JavaScript - 基础部分 - 查漏补缺

# 注意用 === 而非 ==
 
# isNaN(); //如果用 NaN === NaN 也是 false
 
# 浮点数计算由于精度问题无法相等,判定要用差值<0.0000001
 
# 'use strict'; // 杜绝不用 var 就声明变量--->全局变量容易造成问题
 
# string.substring(i, j); --- array.slice(i, j);
 
# 字符串不可变,数组可变
 
# 增删改数组:unshift shift sort reverse splice concat join
 
# false: NaN, undefined, 0, null ,true: 其他
 
# 对象,支持ES6的浏览器可用Map、Set(这俩遍历用 iterable)一般用对象就够了
 
  * 对象是键值对,但键只能是字符串
 
  * Map 和 python 的 dict 很像var m = new Map([['key',value], ['key', value],...]);
 
    方法:set, has, delete, get
 
  * Set 只有 key 没有 value, 自动过滤重复元素
 
    var s = new Set([1, 2, 3, 3, '3']);
    s; // Set {1, 2, 3, "3"}
 
    方法:add(key),delete(key)
 
 
 # 函数,两种定义方式
 
  * function func_name(x){
 
  // .......
 
  return 0;
 
  }
 
  * var func_name = function(x){
 
  return;
 
  };
 
# arguments,它只在函数内部起作用,并且永远指向当前函数的调用者传入的所有参数
 
# 函数内部定义变量时,最常见的做法是用一个var申明函数内部用到的所有变量:
 
function foo() {
 
    var
 
        x = 1, // x初始化为1
 
        y = x + 1, // y初始化为2
 
        z, i; // z和i为undefined
 
    // 其他语句:
 
    for (i=0; i<100; i++) {
 
        ...
 
    }
 
}
 
 
在一个方法内部,this是一个特殊变量,它始终指向当前对象如果单独调用函数,此时,该函数的this指向全局对象,也就是window
但在函数内部定义的函数,this又指向undefined了,要在函数开始时就捕获 var that = this; 后面才能正常用
 
posted @ 2016-07-18 20:42  Pudding_AI  阅读(236)  评论(0编辑  收藏  举报