`

AS3 作用域

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

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

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

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

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


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

相关推荐

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

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

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

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

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

    作用域和作用域链在Javascript和很多其它的编程语言中都是一种基础概念。但很多Javascript开发者并不真正理解它们,但这些概念对掌握Javascript至关重要。 正确的去理解这个概念有利于你去写更好,更高效和更简洁的...

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

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

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

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

    跟我学习javascript的作用域与作用域链

    作用域是JavaScript最重要的概念之一,想要学好JavaScript就需要理解JavaScript作用域和作用域链的工作原理。今天这篇文章对JavaScript作用域和作用域链作简单的介绍,希望能帮助大家更好的学习JavaScript。 一、...

    图解javascript作用域链

    先来一段简单的javascript代码: ...1.javascript引擎会在页面加载脚本被执行时为每个函数创建一个作用域(执行上下文)及作用域链。 2.javascript引擎在产生这些作用域后,会创建一个堆栈。 3.将onload对应的

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

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

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

    javascript的作用域和作用域链是我学习最痛苦的一部分,因为我花了好多时间看了好多技术文档都没有理解.大体知道什么意思了,然后还说不出之所以然来. 通过我大量的测试和看技术文档总结了以下理解,虽然不是很有技术...

    javascript中作用域以及作用域链

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

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

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

    javascript中的作用域和闭包详解

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

    javascript的函数作用域

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

    Javascript中的作用域和上下文深入理解

    Javascript中的作用域和上下文的实现是Javascript语言独有的特性,从某种程度上来说,Javascript语言是十分灵活的。Javascript中的函数可以采用各种各样的上下文,作用域也可以被封装和保存。正是由于这些特性,...

    Python命名空间及作用域原理实例解析

    Python命名空间和作用域 总结 emmm,这一块讲了2个内容,一个是命名空间,一个是作用域。一个一个说吧 命名空间 A namespace is a mapping from names to objects.Most namespaces are currently implemented as ...

    javascript 作用于作用域链的详解

    javascript 作用于作用域链的详解 一、JavaScript作用域 任何程序设计语言都有作用域的概念,简单的说,作用域就是变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期。在JavaScript中,变量的...

    浅谈Javascript变量作用域问题

    Js中的变量作用域问题: 1、没有块级作用域。Js中的变量作用域不是以{}为界的,不像C/C++/Java。 如: 代码如下:  if(true){  var name = “qqyumidi”;  }    alert(name); // 结果:qqyumidi Js会...

    javascript 嵌套的函数(作用域链)

    嵌套的函数(作用域链) 当你进行函数的嵌套时,要注意实际上作用域链是发生变化的,这点可能看起来不太直观。你可把下面的代码置入firebug监视值的变化。 代码如下: var testvar = ‘window属性’; var o1 = {test...

    javascript作用域和闭包使用详解

    作用域的嵌套将形成作用域链,函数的嵌套将形成闭包。闭包与作用域链是 JavaScript 区别于其它语言的重要特性之一。 作用域JavaScript 中有两种作用域:函数作用域和全局作用域。 在一个函数中声明的变量以及该函数...

    Javascript 作用域使用说明

    公用、受保护和私有作用域 在传统的面向对象程序设计中,主要关注于公用和私有作用域。公用作用域中的对象属性可以从对象外部访问,即开发者创建对象的实例后,就可使用它的公用属性。而私有作用域中的属性只能在...

Global site tag (gtag.js) - Google Analytics