JavaScript学习总结(十)——this关键字

本文详细解析了JavaScript中this关键字的用法及其作用范围,包括如何定义类的私有和公共属性及方法,并通过实例展示了this指向不同对象时的行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



 1 <script type="text/javascript">
 2     function Person(){
 3         /*使用var 属性名定义的属性是类的私有属性,外界无法访问,要想被外界访问,就要使用公共方法*/
 4         var QQ="123456"; 
 5         var Email="123456@qq.com";
 6 
 7         /*使用this.属性名定义的属性就是类的公共属性,是可以被外界访问的*/
 8         this.Name="孤傲苍狼";
 9         this.Age=24;
10 
11         /*定义Person类的公共方法,凡是定义类的公共属性和公共方法都要使用this*/
12         this.Show=function(){//定义Person类的公共方法(特权方法)
13             alert("QQ="+QQ+"\tEmail="+Email);
14 
15         }
16         
17         /*定义Person类的私有方法*/
18         function Show2(){//这是Person类的一个私有方法,只能在Person类内部使用
19             
20         }
21     }
22 
23     var p1 = new Person();
24     alert("私有属性p1.QQ="+p1.QQ+"\t"+"p1.Email="+p1.Email);
25     alert("公共属性p1.Name="+p1.Name+"\t"+"p1.Age="+p1.Age);
26     p1.Show();
27     //p1.Show2();//这里会报错,无法调用Person类的私有方法,
28     
29     /*
30     Window 对象描述
31     Window 对象表示一个浏览器窗口或一个框架。在客户端 JavaScript 中,Window 对象是全局对象,所有的表达式都在当前的环境中计算。
32     也就是说,要引用当前窗口根本不需要特殊的语法,可以把那个窗口的属性作为全局变量来使用。例如,可以只写 document,而不必写 window.document。
33 
34     同样,可以把当前窗口对象的方法当作函数来使用,如只写 alert(),而不必写 Window.alert()。
35     */
36     function Test(){
37         alert(this.v);
38     }
39     v=90;
40     Test();
41     window.Test();//记住一句话:哪个对象调用this所在的函数,那么this代表的就是哪个对象实例,这里是window对象调用Test()方法,因此此时this指的就是window对象
42 
43     function Test2(){
44         this.fnTest=function(){
45             alert(this.v2);
46         }
47     }
48 
49     var t = new Test2();
50     t.v2="记住一句话:哪个对象调用this所在的函数,那么this代表的就是哪个对象实例";
51     t.fnTest();//这里是t对象调用Test()方法,因此此时this指的就是t对象
52   </script>
复制代码

JavaScript的this总结:

   1、this不能在类定义的外部使用,只能在类定义的内部使用。

   2、哪个对象调用this所在的函数,那么this代表的就是哪个对象实例。

 1 <script type="text/javascript">
 2     function Person(){
 3         /*使用var 属性名定义的属性是类的私有属性,外界无法访问,要想被外界访问,就要使用公共方法*/
 4         var QQ="123456"; 
 5         var Email="123456@qq.com";
 6 
 7         /*使用this.属性名定义的属性就是类的公共属性,是可以被外界访问的*/
 8         this.Name="孤傲苍狼";
 9         this.Age=24;
10 
11         /*定义Person类的公共方法,凡是定义类的公共属性和公共方法都要使用this*/
12         this.Show=function(){//定义Person类的公共方法(特权方法)
13             alert("QQ="+QQ+"\tEmail="+Email);
14 
15         }
16         
17         /*定义Person类的私有方法*/
18         function Show2(){//这是Person类的一个私有方法,只能在Person类内部使用
19             
20         }
21     }
22 
23     var p1 = new Person();
24     alert("私有属性p1.QQ="+p1.QQ+"\t"+"p1.Email="+p1.Email);
25     alert("公共属性p1.Name="+p1.Name+"\t"+"p1.Age="+p1.Age);
26     p1.Show();
27     //p1.Show2();//这里会报错,无法调用Person类的私有方法,
28     
29     /*
30     Window 对象描述
31     Window 对象表示一个浏览器窗口或一个框架。在客户端 JavaScript 中,Window 对象是全局对象,所有的表达式都在当前的环境中计算。
32     也就是说,要引用当前窗口根本不需要特殊的语法,可以把那个窗口的属性作为全局变量来使用。例如,可以只写 document,而不必写 window.document。
33 
34     同样,可以把当前窗口对象的方法当作函数来使用,如只写 alert(),而不必写 Window.alert()。
35     */
36     function Test(){
37         alert(this.v);
38     }
39     v=90;
40     Test();
41     window.Test();//记住一句话:哪个对象调用this所在的函数,那么this代表的就是哪个对象实例,这里是window对象调用Test()方法,因此此时this指的就是window对象
42 
43     function Test2(){
44         this.fnTest=function(){
45             alert(this.v2);
46         }
47     }
48 
49     var t = new Test2();
50     t.v2="记住一句话:哪个对象调用this所在的函数,那么this代表的就是哪个对象实例";
51     t.fnTest();//这里是t对象调用Test()方法,因此此时this指的就是t对象
52   </script>
复制代码

JavaScript的this总结:

   1、this不能在类定义的外部使用,只能在类定义的内部使用。

   2、哪个对象调用this所在的函数,那么this代表的就是哪个对象实例。

内容概要:本文档详细介绍了一个基于MATLAB实现的跨尺度注意力机制(CSA)结合Transformer编码器的多变量时间序列预测项目。项目旨在精准捕捉多尺度时间序列特征,提升多变量时间序列的预测性能,降低模型计算复杂度与训练时间,增强模型的解释性和可视化能力。通过跨尺度注意力机制,模型可以同时捕获局部细节和全局趋势,显著提升预测精度和泛化能力。文档还探讨了项目面临的挑战,如多尺度特征融合、多变量复杂依赖关系、计算资源瓶颈等问题,并提出了相应的解决方案。此外,项目模型架构包括跨尺度注意力机制模块、Transformer编码器层和输出预测层,文档最后提供了部分MATLAB代码示例。 适合人群:具备一定编程基础,尤其是熟悉MATLAB和深度学习的科研人员、工程师和研究生。 使用场景及目标:①需要处理多变量、多尺度时间序列数据的研究和应用场景,如金融市场分析、气象预测、工业设备监控、交通流量预测等;②希望深入了解跨尺度注意力机制和Transformer编码器在时间序列预测中的应用;③希望通过MATLAB实现高效的多变量时间序列预测模型,提升预测精度和模型解释性。 其他说明:此项目不仅提供了一种新的技术路径来处理复杂的时间序列数据,还推动了多领域多变量时间序列应用的创新。文档中的代码示例和详细的模型描述有助于读者快速理解和复现该项目,促进学术和技术交流。建议读者在实践中结合自己的数据集进行调试和优化,以达到最佳的预测效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值