网页开发js变量作用域问题四,js中关于变量作用域描述错误的是

本文目录一览:

js关于作用域的问题

首先说一下js全局变量的作用域:

在js中如果直接定义一个变量,都是在window这个作用域下定义的

比如

var num = 60

也可以写成这样

window.num = 60

这两个写法是完全一样的,不管哪种写法,使用 console.log(num, window.num) 都可以打印出来 num的值

相对于题主的这个例子:

函数内部声明一个局部变量需要 加 var关键字,如果没有 var,根据向上查找原则,就会去方法 f1 上层去查找 num 变量,如果有,直接拿来用,如果没有就会继续再向上层查找,如果到了 window域 下还没找到,这时 就会在 window域 下创建一个 num变量

所以这个例子打印结果是 60

再说这一个例子

f1 中使用 num变量,在方法形参中 已经有一个 num

实际上,在js加载过程中,编译器在编译过程中已经在 f1 中对 num变量 进行了声明,也就是说 num 已经是 f1 作用域下的一个变量了,所以,在函数内再使用 num的时候,就是在使用 f1作用域下的 num变量,而不会再向上层查找

js 变量作用域问题

var changefunc=”xmlHttp.onreadystatechange = “+functionName;

你就没写参数过去,自然不会接到,你的AJAX写的太乱

var functionName=function (classid,id,pagenum)

这里的参数只是形参,不是实参,所以这些参数没有全局作用域

你想用到实参,那就把classid,id,pagenum定义成全局变量吧,定义到函数体外面

关于JS变量作用域的问题

v2=80,v3=40

1、这个v2和v3,都是a里面定义的局部变量:

function a(){

var v2, v3;

2、v2=80,是调用b函数时,b函数直接对b外部的v2进行了赋值,最近的是a函数的v2,所以最终alert的v2是80

3、b函数虽然对v3赋值为80,但是v3是参数里的v3,并不是a函数的v3,对参数v3进行赋值,不会改变a函数的v3,所以alert的v3不变,还是40

另外,楼上的回答虽然有一定道理,但是只是针对同一个人写同一个项目而言,

实际的工作开发中,引用多个其它人开发的js,甚至其它公司开发的js都是常事,所以出现上面的类似代码也是可能的,另外,这个例子对于理解js的变量作用域还是有一定意义的

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/278345.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝的头像小蓝
上一篇 2024-12-19 13:22
下一篇 2024-12-19 13:22

相关推荐

  • int类型变量的细节与注意事项

    本文将从 int 类型变量的定义、声明、初始化、范围、运算和类型转换等方面,对 int 类型变量进行详细阐述和讲解,帮助读者更好地掌握和应用 int 变量。 一、定义与声明 int…

    编程 2025-04-29
  • Python中set函数的作用

    Python中set函数是一个有用的数据类型,可以被用于许多编程场景中。在这篇文章中,我们将学习Python中set函数的多个方面,从而深入了解这个函数在Python中的用途。 一…

    编程 2025-04-29
  • Python中init方法的作用及使用方法

    Python中的init方法是一个类的构造函数,在创建对象时被调用。在本篇文章中,我们将从多个方面详细讨论init方法的作用,使用方法以及注意点。 一、定义init方法 在Pyth…

    编程 2025-04-29
  • Python input参数变量用法介绍

    本文将从多个方面对Python input括号里参数变量进行阐述与详解,并提供相应的代码示例。 一、基本介绍 Python input()函数用于获取用户输入。当程序运行到inpu…

    编程 2025-04-29
  • Python匿名变量的使用方法

    Python中的匿名变量是指使用“_”来代替变量名的特殊变量。这篇文章将从多个方面介绍匿名变量的使用方法。 一、作为占位符 匿名变量通常用作占位符,用于代替一个不需要使用的变量。例…

    编程 2025-04-29
  • Python变量在内存中的存储

    该文章将从多个方面对Python变量在内存中的存储进行详细阐述,包括变量的声明和赋值、变量的引用和指向、内存地址的变化、内存管理机制等。 一、声明和赋值 在Python中,变量声明…

    编程 2025-04-29
  • Python载入Cookie错误解决方法用法介绍

    本文将从多个方面详细阐述Python载入Cookie错误的解决方法,希望能对读者有所帮助。 一、Cookie错误常见原因 1、Cookie过期:当Cookie过期时,载入Cooki…

    编程 2025-04-29
  • Python变量类型用法介绍

    Python是一种解释型编程语言,它提供了丰富的数据类型,包括数字、字符串、列表、元组、集合、字典等。Python变量类型的定义是Python程序开发的基础,本文将从以下几个方面对…

    编程 2025-04-28
  • Python print输出变量

    Python是一种脚本语言,语法简单易懂,目前被广泛应用于数据处理、人工智能、web开发、游戏开发等领域。其中print函数是Python中最常用的函数之一,用于将变量输出到控制台…

    编程 2025-04-28
  • Python定义变量

    Python是一门高级编程语言,变量是Python编程中非常重要的一个概念。Python的变量定义方式非常简单,可以在程序中随时定义一个变量来存储数据,这方便了整个程序的逻辑编写,…

    编程 2025-04-28

发表回复

登录后才能评论