JS学习随记_day03

page 185:
//注意以下区别:
function counter(){
    var n = 0;
    return{
      count: function(){ return n++; },
      reset: function(){ n = 0; }
    };
}
var c = counter();  // => Object { count=function(), reset=function()}  //c是function的返回值,返回的是一个对象
c.count ,,, c.reset
var c = function counter(){} // 那c就是function

//下面例子知道setter怎么用了
function counter(n){
    return{
        get count(){ return n++; }
        set count(m){
        if(m>=n) n=m;
        else throw Error("count can only be set to a larger value");
    };
}
var c = counter(1000);
c.count // => 1000
c.count // => 1001
c.count = 2000
c.count // => 2000
page 187:
//关于闭包
function co nstfuncs(){
    var funcs = [];
    for(var i=0; i<10; i++)
        funcs = function(){ return i; };
    return funcs;
}
var funcs = constfuncs();
funcs[5]()   //funcs在同一个函数调用中定义的,因此它们是共享变量i的
                   //所以这的值是: 10
page 195:
//函数式的编程风格,个人觉得是个非常非常非常好的编程习惯

//求标准差
var sum = function(x, y){ return x+y; };
var square = function(x){ return x*x; };
 
var data = [1,1,3,5,5];
var mean = data.reduce(sum)/data.length;
var deviations = data.map(function(x){ return x-mean; });
var stddev = Math.sqrt(deviations.map(square).reduce(sum)/(data.length-1));
stddev  // => 2
8.8.2 高阶函数
8.8.3 不完全函数
8.8.4 记忆
这三节未看,但是显然这一部分很重要!!!!

page 214:
//返回对象的类
function classof(o){
    return Object.prototype.toString.call(o).slice(8, -1);
}
page 230:
9.7至本章结束未看(头昏脑胀以至于看不进去,日后需回阅)

转载于:https://my.oschina.net/ITHaozi/blog/129747

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值