`
jamm19860411
  • 浏览: 86913 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

函数表达式的定义问题

阅读更多
var f = function g(){ alert(22222)};

今天看到这段代码,虽然不这么写,但对这种形式产生了兴趣,它是怎么运行的?
测试发现,ie和火狐下还真不一样;
测试:
var f = function g(){ alert(22222)};
alert(f);
alert(f());
alert(g);
alert(g())

结果:ie:
function g(){ alert(22222)};
22222
undefined
function g(){ alert(22222)}
22222
undefined

firefox:
function g(){ alert(22222)};
22222
undefined
报错:g不存在


自己总结:ie下,相当于定义了两个变量f和g
就像:
var f = function (){ alert(22222)}
var g = function (){ alert(22222)}
firefox下:
g没有定义,什么也不是
0
0
分享到:
评论

相关推荐

    揭秘命名函数表达式

    与函数声明不同,函数表达式不会被提升,其定义位置决定了其可用性。 例如: ```javascript let fn; fn = function () { return x; }; console.log(fn()); // undefined let x = 5; ``` 在这个例子中,`fn`的定义...

    复合函数的定义域函数表达式的求法.doc

    本文将依据“复合函数的定义域函数表达式的求法.doc”的教学大纲,详细阐述复合函数定义域及函数表达式求解的方法。 首先,我们来探讨复合函数的定义域的求法。在了解复合函数概念的基础上,其定义域的确定是建立在...

    函数声明与函数表达式1

    在这个例子中,尝试在函数表达式定义之前调用`fe()`会导致TypeError,因为变量`fe`尚未被赋值,JavaScript引擎在执行到那一行之前并不知道`fe`是一个函数。 函数表达式有两种常见形式:匿名函数表达式和命名函数...

    JS 有名函数表达式全面解析

    通过以上实例,我们可以看出有名函数表达式虽然提供了一种灵活的方式来定义和使用函数,但同时也存在一些潜在的问题。为了确保代码的健壮性和兼容性,开发者应当充分理解这些特性的背后机制,并根据具体场景选择合适...

    JavaScript基础篇(6)之函数表达式闭包

    在函数表达式中,因为表达式是在运行时才定义的,所以需要先定义函数表达式,然后再调用。 ```javascript var sayHi = function() { alert("test"); }; sayHi(); // 正确 ``` 在条件语句中定义函数需要注意函数...

    命名函数表达式探秘.pdf

    JScript 是 Internet Explorer 中的 JavaScript 引擎,它在处理命名函数表达式时存在一些问题。这些问题可能导致调试信息不准确或错误的行为。例如,某些版本的 JScript 可能会忽略函数名称,导致调试工具中显示的...

    浅析函数声明和函数表达式-函数声明的声明提前_.docx

    本文将重点讨论两种常见的函数定义方式:函数声明和函数表达式,特别是函数声明的声明提前(Hoisting)现象。 1. **函数声明(Function Declaration)** 函数声明的典型形式如下: ```javascript function ...

    5.7用二元一次方程组确定一次函数表达式1省级一等奖教案(含反思).rar

    教学过程中,教师可能会首先介绍一次函数的基本概念,包括定义、图像特征以及如何从坐标点或已知条件写出函数表达式。接着,会引入二元一次方程组,讲解如何用代入法、消元法或者图象法来解这类方程。这些方法都是...

    立即调用的函数表达式1

    但是,如果在定义函数的同时立即调用它,就会遇到解析问题,因为JavaScript解析器会将`function`关键字视为函数声明,而不是函数表达式,这会导致语法错误。 要实现IIFE,我们需要将函数定义转换为表达式。这通常...

    Python中lambda表达式定义函数示例

    使用环境:需要先安装PyCharm(请自己百度下载安装),以及然后官网上下载Python 2.7版本,以及Python 3.7版本后,安装在自己的电脑上。...目的:帮助理解lambda表达式定义函数在Python中的具体使用。

    浅谈javascript 函数表达式和函数声明的区别

    以函数声明的方法定义的函数,函数名是必须的,而函数表达式的函数名是可选的. 2).以函数声明的方法定义的函数,函数可以在函数声明之前调用,而函数表达式的函数只能在声明之后调用. 3).以函数声明的方法定义的函数并...

    Javascript学习笔记之 函数篇(一) : 函数声明和函数表达式

    函数声明 function foo() {} 函数 foo 将会在整个程序执行前被 ...对于函数声明,函数的名称是必须的,而对于函数表达式而言则是可选的,因此,就出现了匿名函数表达式和命名函数表达式。如下: 函数声明: function fu

    华东师大版八年级数学下册导学案:17.3.4 求一次函数表达式.docx

    综上所述,本节导学案主要介绍了中学阶段如何运用待定系数法求解一次函数表达式,以及如何利用这一方法解决实际问题。通过例题解析和练习,学生能够深入理解和掌握一次函数的性质及其在实际问题中的应用。

    JavaScript中函数表达式和函数声明及函数声明与函数表达式的不同

    这种形式的函数表达式会在定义后立即执行。 函数声明和函数表达式在作用域上的表现也有所不同。函数声明的作用域是其所在的代码块(或全局作用域,如果不在任何代码块内),而函数表达式的作用域则是赋值给变量的...

    jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】

    本篇文章将深入探讨jQuery中的三种主要函数类型:函数声明、函数表达式以及匿名函数,并通过实例解析它们的使用技巧。 首先,我们来看**函数声明**。函数声明是通过`function`关键字定义一个具有名称的函数。这种...

    2013年八年级数学上册 6.4 确定一次函数表达式同步测试 北师大版

    标题中的“2013年八年级数学上册 6.4 确定一次函数表达式同步测试 北师大版”表明这是一份针对初中二年级学生的数学练习,内容涉及一次函数表达式的确定。这次测试的目标是帮助学生理解和掌握如何通过已知条件来确定...

    全面了解函数声明与函数表达式、变量提升

    了解函数声明与函数表达式以及变量提升对于编写清晰、无误的JavaScript代码至关重要。 首先,我们来探讨函数声明与函数表达式的差异。函数声明,如`function foo(){};`,是一种直接定义函数的方式,这种声明在代码...

    JavaScript函数表达式详解及实例

     定义函数的方式有两种:一种是函数声明,另一种就是函数表达式;  1.1 函数声明 function functionName(arg){ //函数体 }  关于函数声明,它有一个重要特征就是函数声明提升,意思就是在执行代码之前会先读取...

Global site tag (gtag.js) - Google Analytics