`

全局函数不能被迭代

阅读更多
/*
官网原文:
     In JScript, global functions cannot be iterated using the global this object. 
   Example:
*/
 <script> 
       var __global__ = this; 
       function invisibleToIE() 
       { 
           document.write("IE can't see me"); 
       }
        __global__.visibleToIE = function() 
       { 
            document.write("IE sees me"); 
       } 
       for (func in __global__) 
       { 
           var f = __global__[func]; 
           if (func.match(/visible/)) 
           { 
               f(); 
           }
       } 
</script> 
/*
    Output: 
            IE: IE sees me 
            FF: IE sees meIE can't see me 
            Opera: IE can't see meIE sees me 
            Safari: same as Opera IE incorrectly 

/*
官网原文:
      IE incorrectly implements the delete operator when applied to the global object. Attempting to execute delete this.invisibleToIE in the example below produces a runtime error (object doesn‟t support this action) in IE while in FF delete returns false. The FF behaviour seems correct according to §11.4.1, §10.2.1, and §8.6.2.5
Example:
*/
<script> 
      var __global__ = this; 
      function invisibleToIE() 
      { 
          document.write("IE can't see me"); 
      } 
      __global__.visibleToIE = function() 
      { 
            document.write("IE sees me"); 
      }
      document.write(delete this.invisibleToIE); 
</script> 
/*
    Output:
            IE: runtime error (object doesn‟t support this action) 
            FF: false 
            Opera: same as FF 
            Safari: same as FF
*/

/*
官网原文:
      In IE the global object does not inherit from Object.prototype even though its “type” is object. §15 – paragraph 8 seems to imply that the “Global Object” should inherit from Object.prototype (the value of its [[Prototype]] property is implementation dependent, but what ever it is it must be a “built-in prototype” and hence must follow the rules of paragraph 8. Of the standard methods of Object.prototype, the only one support by the global object in IE is toString Example: 
*/
<script> 
      var __global__ = this; 
      document.write(typeof(__global__) + '<br>'); 
      var f =['toString', 'toLocaleString', 'valueOf', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable']; 
      for (i = 0; i < f.length; i++) 
      { 
          test(f[i]); 
      } 
      function test(s) 
     { 
           if (__global__[s]) 
          { 
               document.write(s + ' supported' + '<br>'); 
          } 
     } 
</script> 
/*  Output: 
         IE: object toString supported
         FF: object toString supported toLocaleString supported valueOf supported hasOwnProperty supported isPrototypeOf supported propertyIsEnumerable supported 
         Opera: same as FF 
         Safari: same as FF
*/
分享到:
评论

相关推荐

    动态规划基本理论推广函数迭代与策略迭代法学习教案.pptx

    在这个“动态规划基本理论推广函数迭代与策略迭代法学习教案”中,主要讨论了动态规划在处理不定期与无期决策过程中的应用。 不定期决策过程指的是阶段数N不确定的情况,而无期决策过程则是指阶段数N趋向于无穷大的...

    动态规划基本理论推广(函数迭代与策略迭代法).pptx

    在实际应用中,函数迭代法常用于确定不同步数下的最优策略,而策略迭代法则更注重于直接找到最优策略,尽管其计算量可能更大,但收敛速度可能更快。 举例来说,如图所示的最短路径问题,可以视为一个不定期决策过程...

    动态规划基本理论推广函数迭代与策略迭代法PPT学习教案.pptx

    总结来说,动态规划的函数迭代法和策略迭代法是解决不定期与无期决策问题的有效工具,它们分别从函数和策略层面进行迭代优化,以求得全局最优解。这些理论不仅在管理科学与系统工程领域有着广泛的应用,也在其他领域...

    动态规划基本理论推广函数迭代与策略迭代法PPT课件.pptx

    函数迭代法先找出各个步数下的最优策略,然后在这些策略中选取全局最优,适合于阶段数可变的情况。而策略迭代法则更直接地寻找最优策略,虽然计算量可能较大,但通常收敛速度较快。 两种迭代方法的收敛性在许多情况...

    (2021-2022年)专题资料完美版动态规划基本理论推广函数迭代与策略迭代法.pptx

    在2021-2022年的专题资料中,主要讨论了动态规划的两个重要算法:函数迭代法和策略迭代法,这两种方法尤其适用于不定期和无期决策过程。 不定期决策过程是指阶段数N不确定的决策过程,而无期决策过程则是指阶段数N...

    不动点迭代法及其收敛定理PPT课件.pptx

    通过本课件的学习,学生将掌握不动点迭代法的原理、收敛性和应用,并能应用迭代法来解决实际问题。 在实际应用中,迭代法可以用于解决各种非线性方程,如求解方程 x^3 - 2x - 5 = 0 等。通过选择合适的迭代函数和...

    牛顿迭代法求解非线性方程组_牛顿迭代法_非牛顿_

    - **全局收敛性**:虽然牛顿法在某些条件下局部收敛速度快,但全局收敛性并不保证。为提高全局收敛性,可以采用拟牛顿法,如Broyden-Fletcher-Goldfarb-Shanno (BFGS) 法或Davidon-Fletcher-Powell (DFP) 法。 在...

    竞赛辅导五函数方程与迭代学习教案.pptx

    2.2 局部最优与全局最优:在迭代学习中,需要警惕陷入局部最优解,而非全局最优解。为避免这种情况,可以采用多起点、模拟退火、遗传算法等策略,或者设计特殊的优化算法如二阶导数信息的拟牛顿法。 2.3 学习率:...

    jQuery插件制作之全局函数用法实例

    在本文中,我们将深入了解如何使用jQuery插件创建全局函数,以及如何有效地将它们应用于Web开发中。首先,全局函数在jQuery中是指那些作为jQuery对象方法提供的函数,它们构成了jQuery库的一部分。为了防止命名冲突...

    阈值分割迭代法处理图像

    总的来说,阈值分割迭代法是一种实用且灵活的图像处理手段,它能根据图像特性自动调整阈值,提高分割的准确性和稳定性。在实际操作中,我们需要根据具体应用场景选择合适的阈值计算策略,并注意控制迭代过程中的参数...

    牛顿法_牛顿法_牛顿迭代法_求根_牛顿迭代_

    - **稳定性**:如果函数的导数在根附近很小,迭代可能会变得不稳定。因此,需要在迭代过程中监控导数的大小,必要时采取修正措施。 - **分岔与多根**:对于具有多个根的函数,牛顿法可能导向不同的根,取决于初始点...

    迭代器、代码块、闭包

    迭代器用于高效地遍历大量数据,代码块提供良好的代码组织和作用域管理,而闭包则允许我们在不使用全局变量的情况下保持状态或实现私有数据。理解并熟练运用这些概念,将有助于提升编程技能,编写出更加优雅、健壮的...

    matlab阈值分割(大津法和迭代法)代码

    `iterateThresh.m`文件可能包含了迭代法的具体实现,可能包括定义迭代次数、误差函数(如均方误差、交叉熵等)和阈值更新规则。 在Matlab中,这两种方法的使用步骤大致如下: 1. 读取图像,将其转换为灰度图像。 ...

    迭代法解简单方程组例子

    迭代法的收敛性通常依赖于迭代函数的性质,如Lipschitz常数、Jacobian矩阵的谱半径等。对于这个特定的例子,我们可以观察到,只要 \(x_n\) 和 \(x_{n+1}\) 不相距太远,即迭代序列是局部收敛的。当然,全局收敛性...

    Newton_newton迭代法_newton_matlab_源码

    它可能会涵盖如何处理不收敛的情况,如何避免陷入局部最小值,以及如何调整初始猜测值以找到全局解等主题。 总之,牛顿迭代法是一种强大的工具,用于寻找复杂函数的零点。在Matlab环境中,它可以被高效地编程实现,...

    Newton迭代法_牛顿迭代二阶_Newon_newton_

    - **全局收敛性**:牛顿法并不总是全局收敛,即并非所有初始点都能保证收敛到真正的根。为了改善全局收敛性,可以考虑使用修改版的牛顿法,如拟牛顿法或信赖域方法。 - **分母为零的风险**:在迭代过程中,可能会...

    通过随机迭代搜索最小化函数:优化方法:定位目标函数的最小值。 收敛到全局最优。-matlab开发

    函数 vopt = min_by_random_search( fnc, region ) 通过迭代随机搜索最小化函数。 由 Yoash Levron 博士撰写,2013 年 2 月。 此函数实现了基于迭代随机搜索的最小化算法。 在每次迭代中,函数都会将搜索区域中的...

    matlab-分别通过梯度下降法,不动点迭代法,牛顿迭代法对方程进行求解-源码

    不动点迭代法简单易懂,但对初始值敏感,可能不保证全局收敛;牛顿迭代法则通常能提供较快的收敛速度,但需要计算函数的导数,可能会增加计算复杂性。 在实际应用中,根据问题的具体性质和需求,选择合适的求解方法...

Global site tag (gtag.js) - Google Analytics