2018-04-26 总结

1.考察对内存空间理解

let a = {v:'temp'};
let b =a;
a=a.x={v:'temp'};
console.log(a);
//a: {v:'temp'}
console.log(b);
//b:{v:'temp',x:{v:'temp'}}

2.考察对函数传参的理解

let a =1;
let b ={a:1};
function sum(m,n){
   m=2;
   n.a=2;
}
sum(a,b);
console.log(a,b);
//1,{a:2}

3.考察js事件循环机制

setTimeout(function(){console.log(0)},0);
Promise.resolve().then(function(){console.log(5)});
console.log(3);
for(var i=1-;i<15;i++){
  setTimeout(function(){console.log(i)},i);
}
//3,5,0,15,15,15,15,15

4.

(function(num){
  console.log(num);
  var num =10;
}(100));
//100

5.

(function(num){
  console.log(num);
  var num=10;
 function num(){};
}(100));
//function num(){};

6.

var num=100;
var obj={
  num:200,
  inner:{
    num:300,
    print:function(){
      console.log(this.num);
    }
  }
};
obj.inner.print();//300
var func = obj.inner.print;
func();//100
(obj.inner.print)();//300
(obj.inner.print=obj.inner.print)();//100

7.实现add(1)(2)输出3,考察闭包的实现

function add(x){
  var sum =x;
  return function(y){
    return sum +=y;
  }
}

8.拓展第7题,实现add(1)=>1,add(1)(2)=>3,add(1)(2)(3)=>6等

function add(x) {
    var sum = x;
    var tmp = function (y) {
        sum = sum + y;
        return tmp;
    };
    tmp.toString = function () {
        return sum;
    };
    return tmp;
}
console.log(add(1)(2)(3));  //6
console.log(add(1)(2)(3)(4));   //10
//并没有看懂等着hexuebin给我讲呢

9.数组排序

var a =[1,10,4,6,11,33,55];
a.sort(function(a,b){
  return a-b;
})

10.数组乱序

var a= [1,2,3,4,5,6,7,8];
a.sort(function(a,b){
  var sign = 1;
  sign = (Math.random()>0.5)?1:-1;
  return(a-b)*sign;
})

11.箭头函数的注意点

(1)函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。

(2)不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。

(3)不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替。

(4)不可以使用yield命令,因此箭头函数不能用作 Generator 函数。
下面对(1)做出解释:

function foo() {
  setTimeout(() => {
    console.log('id:', this.id);
  }, 100);
}
var id = 21;
foo.call({ id: 42 });

如果是普通函数,执行时this应该指向全局对象window,这时应该输出21。但是,箭头函数导致this总是指向函数定义生效时所在的对象(本例是{id: 42}),所以输出的是42。

12.有1到n连续的n个数,打乱其顺序,随意拿走一个数,判断出拿走的是哪个数

利用数组的find方法
先把1到n个数转为数组a
a.find(function(value,key){
  if(value - a[key+1] ==-2){
    return true;
  }
});
此时返回的值+1就是拿走的那个值

13.怎么判断块级作用域

任何一对花括号中的语句集都属于一个块,在这之中定义的所有变量在代码块外都是不可见的,我们称之为块级作用域

14.块级作用域和函数声明提升的问题

function functions(flag) {
    if (flag) {
      function getValue() { return 'a'; }
    } else {
      function getValue() { return 'b'; }
    }
 
    return getValue();
}
console.log(function functions(true));
//答案是b

分析如下:因为在js是没有块级作用域的,又因为函数声明提升的原因,上面的这段代码变相当于:

function functions(flag) {
    function getValue() { return 'a'; };
    function getValue() { return 'b'; }
    if (flag) {
    } else {
    }
    return getValue();
}
console.log(function functions(true));
//因此无论flag为何值,返回的方法始终为重写后的方法。

那么怎么才能解决这个问题呢...

function functions(flag) {
    if (flag) {
      var getValue = function () { return 'a'; }
    } else {
      var getValue = function () { return 'b'; }
    }
    return getValue();
}

不再用函数声明,而是用函数表达式的方法,因为函数表达式不会提升,因此只有当逻辑只想到这儿的时候才会执行。所以就解决问题啦。

15.Promise有自身有哪几种方法

Promise.all(),Promise.race(),Promise.resolve(),Promise.reject(),
详情见:http://es6.ruanyifeng.com/#docs/promise

凡普金科和闪银奇异

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,542评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,822评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,912评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,449评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,500评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,370评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,193评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,074评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,505评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,722评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,841评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,569评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,168评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,783评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,918评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,962评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,781评论 2 354

推荐阅读更多精彩内容