社区
community_281
帖子详情
关于JS中的This的一个面试题,求大神解释!!!!
X月亮代表我的心
2015-12-03 10:21:17
function a(xx){this.x=xx;return this};
var x=a(5);var y=a(6);
console.log(x.x);
console.log(y.x);
...全文
1324
8
打赏
收藏
关于JS中的This的一个面试题,求大神解释!!!!
function a(xx){this.x=xx;return this}; var x=a(5);var y=a(6); console.log(x.x); console.log(y.x);
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
疯狂大嘴
2018-01-07
打赏
举报
回复
function a(xx){this.x=xx;return this}; var x=a(5);//此时 x=window,y=undefined var y=a(6);//此时 x=6,y=window console.log(x.x);//实际是6.x,就是undefined console.log(y.x);//实际是window.x,就是6; 要注意的是:var x跟var y是连续执行完后才执行输出的!
飞侠
2016-10-25
打赏
举报
回复
看一下this头脑风暴的测试题:http://www.68kejian.com/app/detail.html?id=80&&c=471
拾•安逸
2016-06-29
打赏
举报
回复
function a(xx){this.x=xx;return this}; var x=a(5);var y=a(6); console.log(x.x); console.log(y.x); 分析如下: 开始执行代码时,会创建一个全局对象window js执行代码过程可以分: 词法分析期和执行期 第一步词法分析包括:形参分析、实参分析、变量声明分析、函数声明分析。分析出的结果作为对象的属性和方法 window对象在词法分析期 得到的属性和方法有: window.a=function(xx){this.x=xx;return this} window.x=undefined window.y=undefined 代码执行期: /*先执行 window.a(5) =》window.a=function(xx){this.x=xx;return this} 函数中的this指代对象是window. 得出window.x=5, 此时,全局域中window.x=undefined 变成 window.x=5 然后 return window 赋值给 x 即:x=window , 最终这x=window这句赋值语句 把 window.x=5改成 window.x=window */ x=a(5); /*先执行 window.a(6) =》window.a=function(xx){this.x=xx;return this} 函数中的this指代对象是window. 得出window.x=6, 把全局域中window.x=window变成 window.x=6 然后 return window 赋值给 y 即:y=window y=window 赋值语句把window.y=undefined 变成了 window.y=window */ y=a(6); //综上所述:window.x=6 window.y=window console.log(x.x); //输出x.x 相当于:(window.x).x=6.x------->window对象中没有 6.x属性 则输出undefined console.log(y.x); //输出 y.x 相当于:(window.y).x=window.x------------>window对象中有window.x这个属性 则输出6
X月亮代表我的心
2015-12-04
打赏
举报
回复
引用 2楼xxxyyyzzz0 的回复:
结果是undefind,6
理解不了!
xxxyyyzzz0
2015-12-04
打赏
举报
回复
直接调用函数,this表示全局对象
xxxyyyzzz0
2015-12-04
打赏
举报
回复
结果是undefind,6
夏天的蚂蚱
2015-12-04
打赏
举报
回复
定义的a方法,直接调用this对象指向的是window全局变量。在x=a(5)时,this.x就是window.x得到的是5,后来x接到了返回值是window.这一点你可以把y=a(6)注释掉执行看到!然后再调用y=a(6),这时候this.x把之前的x改写成6,成了一个数值型的变量了。这时候y接到了返回的window,x.x不存在,y.x就是被改写的那个6了!
xxxyyyzzz0
2015-12-04
打赏
举报
回复
引用 3 楼 XiaoKangmemeda 的回复:
引用 2楼xxxyyyzzz0 的回复:
结果是undefind,6
理解不了!
用Firebug调试一下你就知道每一步是干什么了。
从菜鸟到
大神
的React.
js
面试题
整理(最全+详细答案).pdf
React.
js
是
一个
广泛使用的JavaScript库,用于构建用户界面,特别是单页应用程序。以下是一些关于React
面试题
的详细解答,涵盖了组件基础、事件处理、高阶组件、Render Props以及Hooks等核心概念。 1. **React 事件...
从菜鸟到
大神
的react
面试题
整理收藏(本人用的).pdf
以下是对React
面试题
的详细解析: 一、组件基础 1. React事件机制 React采用事件委托策略,将事件绑定在`document`级别,而不是直接绑定到DOM元素上。这样做减少了内存消耗,因为只需要
一个
事件监听器,同时在组件...
身为三本的我就是凭借这些前端
面试题
拿到百度京东offer的,前端
面试题
及答案
点进来之后你的噩梦就要来了,接下来你要面对上百道
面试题
,那么,如果你—— 是个小白菜: 推荐使用2~3周的时间来消化接下来的
面试题
, 遇到不会的专业名词请立刻去搜; 文章
中
只是简答,如果想要详细了解的话还...
关于this指向的
面试题
【代码】关于this指向的
面试题
。
38道关于this的
面试题
,让你彻底解决this 的指向问题,java面试算法题大全
thisthisthisthis不可以用作构造函数,...thisthis箭头函数没有prototype属性。我们总是喜欢瞻仰大厂的
大神
们,但实际上
大神
也不过凡人,与菜鸟程序员相比,也就多花了几分心思,如果你再不努力,差距也只会越来越大。
community_281
662
社区成员
253,722
社区内容
发帖
与我相关
我的任务
community_281
提出问题
复制链接
扫一扫
分享
社区描述
提出问题
其他
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章