摘要: 1.我是变量声明,我会被提升在作用域顶端! 2.我是变量定义,我的声明部分会被提升,赋值部分不会被提升! 3.我是函数定义,或者叫我函数表达式。其实我就是变量定义,只不过恰好被赋值的类型是函数,所以也只提升变量名,不提升函数值! 4.我是函数声明,所以我全部被提升了,包括函数名和函数体。另外,我的优 阅读全文
posted @ 2017-03-13 20:47 我啊我 阅读(432) 评论(0) 推荐(0) 编辑
摘要: window.color = "red; var o = { color:"blue" }; function sayColor(){ alert(this.color); } sayColor(); //red sayColor.call(this); //red sayColor.call(wi 阅读全文
posted @ 2017-03-13 20:17 我啊我 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 看下面这几个例子就知道闭包的查找顺序了(其实就是根据函数的作用域链来查找) 总结:没有this的情况下,查找顺序是从内到外,所以先从函数内部寻找变量,一级一级往上查找,如果没有就找全局变量 有this的情况下,因为返回的函数处在全局作用域中,所以this指的是全局作用域中的变量。 阅读全文
posted @ 2017-03-13 17:36 我啊我 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 链接:https://www.nowcoder.com/questionTerminal/ad1aab0fd50a4185ac1ae450096d9095来源:牛客网 var myObject = { foo: "bar", func: function() { var self = this; c 阅读全文
posted @ 2017-03-13 16:45 我啊我 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 一个promise可能有三种状态:等待(pending)、已完成(fulfilled)、已拒绝(rejected) 一个promise的状态只可能从“等待”转到“完成”态或者“拒绝”态,不能逆向转换,同时“完成”态和“拒绝”态不能相互转换 promise必须实现then方法(可以说,then就是pr 阅读全文
posted @ 2017-03-13 13:29 我啊我 阅读(133) 评论(0) 推荐(0) 编辑
摘要: javascript的原始类型(primitive type) js七种数据类型:Sting Object null undefined Array Boolean Numberjs五种基本类型:String Boolean Number null undefinedtypeof六种返回格式:'st 阅读全文
posted @ 2017-03-13 11:18 我啊我 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 不要在块内声明一个函数(严格模式会报语法错误)。如果确实需要在块中定义函数,可以使用函数表达式来声明函数。 /* Recommended */if (x) { var foo = function() {}; } /* Wrong */if (x) { function foo() {} } 阅读全文
posted @ 2017-03-13 10:08 我啊我 阅读(291) 评论(0) 推荐(0) 编辑