call和apply的第一个参数是null/undefined时函数内的的this指向window或global

摘要: call/apply用来改变函数的执行上下文(this),它们的第一个参数thisArg是个对象,即作为函数内的this。多数时候你传啥函数内就是啥。仅以call示例function fun() { alert(this);}fun.call(1);fun.call('a');fun.call(true);fun.call({name:'jack'}); 分别弹出“1”、“a”、“true”、“[object Object]”。有两种情况需要注意,传null或undefined时,将是JS执行环境的全局变量。浏览器中是window,其它环境(如node)则是gl 阅读全文
posted @ 2012-03-01 11:32 snandy 阅读(13122) 评论(4) 推荐(5) 编辑

JavaScript中函数声明优先于变量声明

摘要: 同一个标示符,先后用var和function声明它。最后它是什么呢?var a; // 声明一个变量,标识符为afunction a() { // 声明一个函数,标示符也为a}alert(typeof a);显示的是“function”,即function的优先级高于var。有人觉得这是代码顺序执行的原因,即a被后执行的funcion覆盖了。好,将它们调换下。function a() {}var a;alert(typeof a);结果仍然显示的是“function”而非“undefined”。即函数声明优先于变量声明。我们把代码稍作修改,声明a时同时赋值。function a() {}var 阅读全文
posted @ 2012-03-01 07:28 snandy 阅读(5481) 评论(24) 推荐(6) 编辑
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示