`

AS3 作用域

 
阅读更多
作用与大家都知道,这里说说AS3中间比较容易出问题的地方。

如果需要调用一个全局方法,可以用 this.["functionname"]()的方式。因为this默认全局。

如果使用闭包,那么闭包之外的大括号就是作用域。那么如果遇到for的情况会发生什么呢?
答案是:最后一次循环环境作为所有必报的作用域。
显然这不是我们想要的,那如何避免呢?

使用如下方法:
//代理函数
public static function bind(obj : *, func : Function, ...arg) : Function{
	return function() : * {
  		return func.apply(obj, arg);
	};	
}

原理是在外面包一层 Function。这层作用域保存了值,然后作为参数传给闭包。


特别鸣谢 波子同学
分享到:
评论

相关推荐

    AS3简体中文帮助文档

    3. **作用域和变量**:AS3有四种作用域,分别是全局作用域、局部作用域、块作用域和闭包作用域。理解变量的作用域对于避免内存泄漏和提高代码可读性至关重要。 4. **事件处理**:AS3使用事件驱动模型,通过...

    深入理解javascript作用域第二篇之词法作用域和动态作用域

    这实际上是由两种作用域工作模型导致的,作用域分为词法作用域和动态作用域,分清这两种作用域模型就能够对变量查找过程有清晰的认识。本文是深入理解javascript作用域系列第二篇——词法作用域和动态作用域 词法...

    AS3中文版帮助文档

    文档将详细介绍它们的定义、参数、返回值以及作用域。 5. **显示列表和图形绘制**:AS3允许开发者通过DisplayObject类及其子类(如Sprite和MovieClip)来管理舞台上的元素。此外,绘图API如Graphics类用于在舞台上...

    Javascript作用域和作用域链原理解析

    3. 块级作用域:自ES6引入`let`和`const`关键字后,变量可以在块级(如`if`、`for`循环或`{}`)内声明并拥有块级作用域。例如: ```javascript if (true) { let blockVar = 'Hello Block'; } console.log(block...

    「Python系列」Python命名空间和作用域,命名空间(Namespace)和作用域(Scope)是两个非常重要的概念.md

    3. **全局作用域**(Global Scope):模块级别定义的变量在整个模块内都是可见的。如果函数内部没有显式地声明变量为局部变量,则默认认为它是全局变量。 4. **内置作用域**(Built-in Scope):包含Python解释器...

    Javascript变量的作用域和作用域链详解

     说起变量第一个要说到的肯定就是作用域,正是因为不熟悉JS的作用域,往往就会把面向对象的作用域张冠李戴,毕竟有些东西总是习惯性的这样,但是并不是每次照搬都是可以的,那么下一个问题就来了,js到底是什么作用...

    java5与as3语法的区别

    - ActionScript 3 没有块级作用域,最小作用域是函数。类级作用域类似于 Java,但全局变量是在函数或类定义之外声明的。 6. 字符串: - 两者都存储两字节的 Unicode 字符序列,且字符串都是不可变的。 7. 语句...

    AS 3 错误代码中文说明

    - **描述**:当作用域深度为零时,尝试调用 OP_findproperty 字节码指令会触发此错误。 - **解决方案**:确保作用域深度正确,避免在此情况下调用 OP_findproperty。 #### 1014 无法找到 _ 类 - **描述**:此错误...

    javascript作用域、作用域链(菜鸟必看)

    JavaScript中的作用域是编程中非常基础且重要的概念,它决定了变量在何处可见以及可以在哪里访问。在JavaScript中,我们主要关注两种类型的作用域:全局作用域和局部作用域。 1. 全局作用域(Global Scope): 全局...

    Javascript中的作用域及块级作用域

    一、块级作用域的说明 在学习JavaScript的变量作用域之前,我们应当明确几点: a、JavaScript的变量作用域是基于其特有的作用域链的。 b、JavaScript没有块级作用域。 c、函数中声明的变量在整个函数中都有定义。  ...

    图解javascript作用域链

    在JavaScript中,每个函数都有自己的作用域,而这些作用域按照特定的顺序组织起来,形成了作用域链。这个链帮助解析器在不同层级的上下文中找到变量。 在提供的代码示例中,我们有一个`window.onload`事件处理器,...

    详细谈谈AngularJS的子级作用域问题

    在AngularJS中,子级作用域是一个非常关键的概念,它涉及到数据绑定和作用域的继承。AngularJS的内置指令如ng-include、ng-view、ng-switch、ng-repeat都会创建新的子作用域,这些子作用域继承自它们的父级作用域。...

    javascript函数作用域学习示例(js作用域)

    JavaScript中的函数作用域是编程语言特性的一个重要方面,它决定了变量的可见性和生命周期。与C等其他语言不同,JavaScript并没有块级作用域,而是采用函数作用域,这意味着变量的生命周期和可见性范围由它们所在的...

    .netcore6 的Autofac使用实例 接口多个实例 ResolveByKey作用域

    这样可以确保在同一作用域内的所有组件共享同一个实例,而不同作用域之间的组件则拥有独立的实例。 在 `Startup.cs` 文件中,你需要配置 Autofac 作为应用程序的服务提供者。这通常包括调用 `services.AddAutofac()...

    通过函数作用域和块级作用域看javascript的作用域链

    在ES6之前,javascript只有全局作用域和函数作用域。所谓作用域就是一个变量定义并能够被访问到的范围。也就是说如果一个变量定义在全局(window)上,那么在任何地方都能访问到这个变量,如果这个变量定义在函数...

    javascript中作用域以及作用域链

    变量及作用域: 变量无非就是两种:全局变量和局部变量。 Javascript语言中,函数内部可以直接读取全局变量,在函数外部无法直接读取函数内的局部变量。 程序设计中作用域的概念: 通常来说,一段程序代码中所用到的...

    关于javascript作用域的常见面试题分享

    本文主要给大家分享了关于javascript作用域面试题的相关内容,分享出来供大家参考学习,下面来一起看看吧。 一、作用域: 在了解作用域之前,首先需要明白一些基础概念: 每一个变量、函数都有其作用的范围,超出...

    javascript中的作用域和闭包详解

    一、JavaScript作用域 JavaScript变量实际上只有两种作用域,全局变量和函数的内部变量。在函数内部任何一个地方定义的变量(var scope)其作用域都是整个函数体。 全局变量:指的是window对象下的对象属性。 作用域...

    AS+2.0与AS+3.0对照速查表

    AS 3.0引入了类和包的概念,提供了更好的命名空间管理,降低了全局作用域的使用。 3. **事件模型**: - AS 2.0使用on()函数处理事件,而AS 3.0引入了事件监听器模式,使用addEventListener()和removeEventListener...

    javascript的函数作用域

    在一些类似c语言的编程语言中,花括号内的每一段代码都具有各自的作用域,而且变量在声明他们的代码段之外是不可见的,我们称为块级作用域(block scope),而javascript中没有块级作用域。取而代之的javascript使用...

Global site tag (gtag.js) - Google Analytics