Javascript作用域问题的构造函数的变量

Javascript作用域问题的构造函数的变量

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

构造函数new对于使用。代表创建对象。此外,它可以被用作普通的函数调用,因为它也是一个功能。

function Person(name) 
{
	this.name=name;
}

Person(12);
alert(window.name);//12

 

能够看到当构造函数被当成普通函数调用的时候。this代表的是全局的window对象。

非常显然把构造函数当成普通函数调用,不是好的做法。 也没有什么道理要这么做。

实际中应该杜绝这样奇怪的使用方法,以免产生奇怪的问题。

 

function Person(name,sex) 
{
    this.name=name;
    var name1="22";
    name2=sex;
}
var per = new Person("aty","boy");
alert(per.name);// aty
alert(per.name1);//undefined
alert(per.name2);//undefined
alert(window.name2);//boy

 

构造函数中定义变量使用this是成员变量;使用var是局部变量;不加keyword是全局变量。会加入到window对象中。这样解释了为什使用什么样的构造thiskeyword。

版权声明:本文博客原创文章。博客,未经同意,不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117524.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java经典设计模式之十一种行为型模式(附实例和详解)

    Java经典设计模式之十一种行为型模式(附实例和详解)

    2020年11月12日
    166
  • 新手学堂之有刷/无刷动力电调与马达知识[通俗易懂]

    新手学堂之有刷/无刷动力电调与马达知识[通俗易懂]新手学堂之有刷-无刷动力知识FunRCStudio原创资料,只发RCFANS,如需转载务必注明出处。模型车需要行驶,就跟真车一样,需要一套动力单元,也有分电动和油动,至于混合动力这个估计就不需要奢望了,对于车模这么小的空间来说是不现实的,而且模型车也不需要考虑燃油经济性的问题。本文则重点介绍电动模型的动力单元。电动模型的动力,主要是指2个元件:第一就是带动

    2022年5月25日
    908
  • 阿里笔试题(2015)持续更新中

    阿里笔试题(2015)持续更新中第一次做阿里笔试题,除了ACM题之外从来没有做过校招网络题呀,完全是裸考,总体感觉吧,对于我来说,感觉时间不够用,不是题不会,感觉时间紧,大脑很混乱,总结这一次的笔试题废话不多说,直接上题和答案平均每个人逗留时间为20分钟,那么开场前20分钟一共来了400人,且有20个人逗留时间已经到,应该容纳400人双向循环列表,从任何一个元素开始可以遍历全部元素先和后面的元素相

    2022年5月24日
    40
  • 最近工作方面发生了一些大事情,所以特地为此摇了一挂,请高手进来断一断。…

    最近工作方面发生了一些大事情,所以特地为此摇了一挂,请高手进来断一断。…

    2021年8月4日
    58
  • 随机森林算法及其实现(Random Forest)

    阅读目录1什么是随机森林? 2随机森林的特点 3随机森林的相关基础知识 4随机森林的生成 5袋外错误率(ooberror) 6随机森林工作原理解释的一个简单例子 7随机森林的Python实现 8参考内容回到顶部1什么是随机森林?  作为新兴起的、高度灵活的一种机器学习算法,随机森林(RandomForest,简称RF)拥有广泛的应用前景,从市场营销…

    2022年4月9日
    71
  • BigDecimal保留两位小数及格式化成百分比[通俗易懂]

    BigDecimal保留两位小数及格式化成百分比[通俗易懂]BigDecimal保留两位小数及格式化成百分比在项目中经常会用到小数的一些计算,而float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。但是,商业计算往往要求结果精确。所以有时候必须要采用BigDecimal。publicc…

    2022年9月23日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号