<script>
var globalVar="globalVar"; //(1)
this.globalThisVar = "this.globalThisVar"; //(2)
globalFunc.funcVar = "funcVar"; //(3)
function globalFunc(){
var localVar = "localVar"; //(4)
this.localThisVar = "this.localThisVar"; //(5)
function nestedFunc(){
var nestedVar = "nestedVar"; //(6)
this.nestedThisVar = "this.nestedThisVar"; //(7)
}
nestedFunc();
this.publicMethod = function4obj;
}
function function4obj(){
alert(this.localThisVar);
}
globalFunc.prototype.prototypeVar = "globalFunc.prototype.prototypeVar"; //(8)
var obj = new globalFunc();
obj.objVar = "obj.objVar"; //(9)
obj.publicMethod();
/* 9种变量:
(1)、全局变量。(相对于window是私有变量)。可见范围:任意地方
(2)、window的全局变量。可见范围:任意地方
(3)、函数属性(类属性)。可见范围:函数内外均能使用,始终以globalFunc.funcVar访问,但以funcVar是不行的,否则就成了全局变量了
(4)、私有变量(函数内的局部变量)。可见范围:仅被私有方法和特权方法访问,换句话说是仅在函数内可见。
(5)、公有变量(函数内this引用的变量)(实例属性?)。可见范围:在函数内必须以this.localThisVar来访问,且在private method里访问不了。
public method和previliged method里均需以this打头访问,可以obj.localThisVar访问。
(6)、嵌套函数内的局部变量。可见范围:仅能在嵌套函数内使用。
(7)、嵌套函数内this引用的变量。可见范围:window的属性,window内可见。
(8)、原型对象的属性。可见范围:在全部地方都能以globalFunc.prototype.prototypeVar访问,obj以obj.prototypeVar访问。
(9)、实例属性(对特定实例后来添加的,这在面向对象中似乎不常见)。可见范围:以obj.objVar访问。
*/
/*1、注意到这里没有特权方法。特权方法的特权就是公有私有变量都能访问
2、private variables and public properties are instantiated with each new object created.
3、globalFunc.prototype.prototypeVar实例共享
4、函数独享(函数内均能使用),实例不可访问,但可以通过obj.constructor.funcVar访问
5、obj.objVar实例独享
*/
// alert(window.nestedThisVar); //nestedThisVar被加到window的属性里了,nestedFunc的this是window
// alert(globalFunc.funcVar); alert(funcVar); //see (3)
// alert(globalThisVar); //window.alert();应该是window的public method吧?
// alert(window.globalThisVar);
// globalFunc()内测试
// alert(prototypeVar); //错误
// alert(funcVar); //错误
// alert(globalFunc.funcVar); //正确
// alert(globalFunc.prototype.prototypeVar); //正确
// nestedFunc()内测试
// alert(globalThisVar); alert(globalVar); alert(localVar); //意料之中
// alert(globalFunc.funcVar); //see (3)这里居然也能用!
// alert(localThisVar); //nestedFunc不能使用外部的this.var
// alert(globalFunc.prototype.prototypeVar); //正确
// alert(obj.funcVar); //see 4, undefined
// alert(obj.constructor.funcVar); //see 4,funcVar
// alert(obj.prototypeVar); //see 3
</script>
我花了几天收集了关于变量的定义以及它们的scope,做了一些试验,可能还有一些错误,希望大家交流交流。
分享到:
相关推荐
"绝对精华的室内VAR材质大全"是针对室内设计专业人员的一份宝贵资源,提供了丰富的VAR材质预设,帮助用户在3DMAX中快速打造出高质量的室内场景。 VAR材质在3D Max中的应用主要体现在其灵活性和可定制性。它通过调整...
"向量自回归模型(VAR)Eviews实现" 向量自回归模型(Vector Autoregression,VAR)是一种非结构化的多方程模型,用于描述多个经济指标之间的动态关系。VAR 模型的数学表达式为: yt = Φ1 yt-1 + … + Φp yt-p + ...
VAR 模型和 VEC 模型 VAR 模型(Vector Autoregression 模型)是一种非结构性方程组模型,用于研究多个变量之间的动态关系。该模型由西姆斯(C.A.Sims)在 1980 年提出,目的是解决经济理论指导下建立的结构性经典...
【向量自回归模型(VAR)】和向量误差修正(VEC)模型是现代宏观经济分析中的重要工具,尤其适用于处理多个经济变量之间的动态关系。VAR模型由西姆斯(C.A.Sims)在1980年提出,它解决了结构模型的一些固有问题,如...
JavaScript 数组详细说明大全 JavaScript 中的数组是一种基本数据类型,用于存储一组相关的数据。数组可以存储各种类型的数据,包括数字、字符串、对象等。数组的使用非常广泛,以下是对 JavaScript 数组的详细说明...
在这个公式大全中,我们可以看到多个技术指标的定义和计算方法,包括VAR1到VARC这九个变量的定义,它们之间的相互关系和逻辑运算规则。这些变量的计算结果将被用于绘制 StickLine 图形,以视觉化地表示市场的趋势和...
文档标题和描述提到了“期货指标大全汇总文华财经指标技术分析指标大全期货最准的指标”,这表明本文档主要涉及期货市场的技术分析指标,尤其是文华财经平台使用的指标。以下将详细介绍文档部分内容中提到的一些关键...
这个文档“文华公式期货指标大全汇总”似乎包含了一系列的技术指标公式,用于评估期货市场的走势和强度。以下是对这些指标的详细解释: 1. **VAR3**:这是计算历史最低价(LLV)的240周期最低值,然后计算收盘价与...
《技术指标买卖点大全博易大师指标公式信管家软件指标》文档主要介绍了一种结合了多种技术分析指标的交易策略,旨在帮助投资者在金融市场中找到有效的买卖点。这些指标包括了趋势判断、动量分析、相对强弱以及价格...
《博易大师指标公式信管家软件指标技术指标买卖点大全》文档主要介绍了一套用于股票交易分析的技术指标体系,旨在帮助投资者识别买卖点,提高交易决策的准确性。以下是对其中关键知识点的详细解释: 1. **移动平均...
10. **VAR10**、**VAR11**、**VAR12**、**VAR13**、**VAR14**、**VAR15**、**VAR16**、**VAR17**、**VAR18**: 这些ZIG函数是基于不同周期的价格变化计算的,用于识别价格趋势的转折点。当ZIG函数在不同周期内连续...
10、VAR1、VAR2、VAR3、VAR4、VAR5、VAR6、VAR7、VAR8、VAR9、VARA、VARB指标:这些指标是利用移动平均线、相对强弱指标和成交量指标来计算的,用于判断股票或期货的强弱趋势和买卖信号。 文华公式期货指标期货指标...
### LINQ语法及实例大全 #### 一、LINQ简介 **LINQ**(Language Integrated Query)是.NET Framework 3.5中引入的一种强大的查询技术,它提供了在.NET语言中编写查询表达式的语法糖。LINQ支持多种数据源,如内存...
### JavaScript字符串函数大全 在JavaScript中,字符串是用于处理文本数据的基本类型之一。字符串方法提供了丰富的功能来操作这些文本数据,使得开发人员能够更高效地完成各种任务。下面将详细介绍标题与描述中提及...
文档标题和描述提到了“期货指标大全汇总”,包含文华财经的指标和技术分析指标,以及傻瓜式的买卖指标。这些指标主要用于期货市场的交易决策,帮助投资者判断市场趋势、买卖时机和风险控制。以下是对其中一些关键...
### JavaScript 常用函数大全 #### 字符串(String) **1. 声明** JavaScript 中有两种方式来声明字符串: - **使用 `new String()` 构造函数**: ```javascript var myString = new String("Every good boy ...
本文件“通达信指标公式源码大全.pdf”显然是一份包含了大量此类指标公式的集合,旨在帮助投资者理解和应用各种技术分析工具。以下是对部分源码的解析: 1. **获利了结、风险、回档、平衡、反弹、超跌**: 这些都...
"文华公式期货指标大全"是一个包含了多种技术分析工具的文档,其中包括了VAR1到VAR11等多个自定义指标,它们是根据价格、成交量等数据计算得出的。下面我们将详细探讨这些指标的含义及其在交易中的应用。 1. VAR1:...
- VAR5、VAR6、VAR7、VAR8、VAR9、VAR10、VAR11、VAR12、VAR13、VAR15、VAR16:这些都是自定义的复合指标,通过组合不同的价格和移动平均线数据,试图捕捉市场波动性和趋势。 - '大资金':这个条件判断可能是用来...