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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MultiSet_multilayered

    MultiSet_multilayeredGuava引进了JDK里没有的,但是非常有用的一些新的集合类型。所有这些新集合类型都能和JDK里的集合平滑集成。Guava集合非常精准地实现了JDK定义的接口。Guava中定义的新集合有:Multi

    2022年8月5日
    3
  • seq2seq模型是什么_seq2seq原理

    seq2seq模型是什么_seq2seq原理1seq2seq模型简介seq2seq模型是一种基于【encoder-decoder】(编码器-解码器)框架的神经网络模型,广泛应用于自然语言翻译、人机对话等领域。目前,【seq2seq+attention】(注意力机制)已被学者拓展到各个领域。seq2seq于2014年被提出,注意力机制于2015年被提出,两者于2017年进入火热融合和拓展阶段。通常,编码器和解码器都是一个LSTM网络…

    2025年5月25日
    0
  • 南京大学LAMDA面经汇总

    南京大学LAMDA面经汇总节选自 https://www.jianshu.com/p/7640174a15561.南大计算机网址:南京大学计算机系2016“本科生开放日”申请流程时间:5月13日-5月15日入营条件:985院校的话,绩点排名前5%基本可以入营吃住补助:LAMDA实验室报销车票,住宿费,但是南大不报销车票,但管吃管住,住的很高级的宾馆,条件特别好。参营记录:南大的夏令营是开的最早的一个计算机夏令营,正因为开…

    2022年6月9日
    127
  • ctf-web:文件上传漏洞和文件解析漏洞

    ctf-web:文件上传漏洞和文件解析漏洞这次的内容是关于文件上传的漏洞和文件解析的漏洞的内容,在下面我会进行一个关于这两个方面的内容的实际操作以及原理介绍.其实我一直想学的就是web渗透,但是一直都不知道web渗透都有什么后来才知道居然就是sql注入,还有这几个漏洞的利用就是web渗透…这不就是我好几年前看的东西么…当然,其实我也学的不是很精通,只是稍微会一点,就不夸夸其谈了.先说说这两个漏洞的区别.一.文件上传漏洞这个漏洞产生的原因是因为上传文件的不严谨所产生的.比如我恶意上传了一个一句话木马,但是服务器没有进行对文件的过滤,就会将.

    2022年6月1日
    34
  • 版本号命名规则简述「建议收藏」

    版本号命名规则简述「建议收藏」GNU风格的版本号管理策略主版本号.次版本号.修正版本号1.新建项目初版,版本号为1.0.0。1.0.02.当项目在进行了局部修改或bug修正时,主版本号和子版本号都不变,修正版本号加1;1.0.13.当项目在原有的基础上增加了部分功能时,主版本号不变,子版本号加1,修正版本号复位为0,因而可以被忽略掉;1.1.04.当项目在进行了重大修改或局部修正累积较多,而导致项目整体发

    2022年9月10日
    1
  • 串口通信的三种方式(查询、中断、DMA)

    串口通信的三种方式(查询、中断、DMA)

    2021年8月18日
    89

发表回复

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

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