首页 > 其他分享 >一道变态的关于作用域的探究问题

一道变态的关于作用域的探究问题

时间:2024-04-15 10:14:52浏览次数:27  
标签:console log 作用域 变态 探究 var x1 声明

    var x = 1
    function foo(x = 11, y = function () { x = 2 }) {
      console.log(x)  //打印的()的形参 x 因为默认值为11 所以打印11
      y()  //y函数执行 修改的是 foo 括号里面形参的值
      console.log(x)   //由于()中的x 被y函数修改 所以 x值变为2
      x = 3
      console.log(x)
    }
    foo()
    console.log(x)

    var x1 = 1
    function foo1(x1 = 11, y1 = function () { x1 = 2 }) {
      console.log(x1) //此时的x 赋值来自()  => 推测 先是由{}内声明 ()内声明忽略 ()赋值
      y1() //修改了()内的 x  不对 {} 的x 产生影响
      console.log(x1)  //打印的 {}的x 依然是来自于 () 的第一次赋值的值 11
      var x1 = 3  //  函数参数声明的x 跟在函数内声明的x 不是一个x  () 和 {} 具有不同的作用域
      console.log(x1)
    }
    foo1()
    console.log(x1)

区别在于第二次,函数内的x1,有在函数内部进行声明,而第一次没有进行声明
函数参数的声明介于let与var特性之间
如果给了参数,再用let 重复声明会报错=> 次特性像let的块级作用域,不可以重复声明
但是使用var重复声明又不会报错 => 次特性像var声明不具有块级作用域,可以重复声明

标签:console,log,作用域,变态,探究,var,x1,声明
From: https://www.cnblogs.com/coderzdz/p/18135238

相关文章

  • 参数,名称空间,作用域
    1函数的调用方式【1】直接调用函数名()-->调用函数defstudent(name,age):print(f"mynameis{name},myageis{age}")#函数名()-->调用函数student(name="silence",age=16)#mynameissilence,myageis16【2】用表达式调用函数用一个新变量存储函数的内......
  • 关于C++作用域符的一种用法
    当作用域符号::前不带类名,或者namespace名的时候,表示是全局作用域的意思,也就是表示所调用的函数是全局函数,或者是某个动态库的函数,这对与代码的可阅读性有很大的帮助,因为它与类型成员函数的调用做了区分,表明该函数不是类成员函数如下图的send()函数,其前面的::表明send()函数不是......
  • python基础-函数(函数参数、返回值、执行、传参、作用域、函数名)
    前言!!!注意:本系列所写的文章全部是学习笔记,来自于观看视频的笔记记录,防止丢失。观看的视频笔记来自于:哔哩哔哩武沛齐老师的视频:2022Python的web开发(完整版)入门全套教程,零基础入门到项目实战1.初识函数函数就是一大堆代码的集合,这一堆的代码再起个名字。#定义函数def函数名......
  • 农村高中生源转型期提升学生二次函数建模能力的课堂探究
      在新课程下,培养学生的数学核心素养是高中数学课堂教学的根本任务。其中的建模思想是数学核心素养培养的一个基本指标,是学生正确认识数学知识内在本质与原理的重要思维工具。通过在数学课堂教学中有效地应用建模思想,主要的应用意义体现在如下几个方面:其一,通过在数学课堂中融入......
  • 第四章 探究 FBV 视图
    第四章探究FBV视图​ 视图是Django的MTV的架构模式的V部分,主要负责处理用户请求和生成相应的响应内容,然后在页面或其他类型文档中显示。使用视图函数处理HTTP的请求,即在视图函数中定义函数,这种方法称为FBV。4.1设置响应方式​ 网站的运行原理是遵从HTTP协议,......
  • 第五章 探究 CBV 视图
    第五章探究CBV视图5.1数据显示视图​ 数据显示视图是将后台的数据展示在网页上,数据主要来自模型,一共定义了4个视图类,分别说明如下:RedirectView:用于实现HTTP重定向,默认情况下只定义GET请求的处理方法。TemplateView:视图类的基础视图,可将数据传递给HTML模版,默认情况......
  • 【Python】深入探究:if、elif、else语句如何塑造Python代码的逻辑魅力
    欢迎来CILMY23的博客本篇主题为深入探究:if、elif、else语句如何塑造Python代码的逻辑魅力个人主页:CILMY23-CSDN博客个人专栏系列:Python|C语言|数据结构与算法|C++感谢观看,支持的可以给个一键三连,点赞关注+收藏。 写在前头:本篇博客主要对各种的条件语句进行详......
  • 【稳定检索|投稿优惠】2024年哲学探究与教育创新国际会议 (PEEI 2024)
    2024年哲学探究与教育创新国际会议(PEEI2024)2024InternationalConferenceonPhilosophicalExplorationandEducationalInnovation1.【会议简介】 2024年哲学探究与教育创新国际会议即将在杭州召开。本次会议旨在汇聚全球哲学与教育领域的专家学者,共同探讨哲学思......
  • 16:00面试,16:06就出来了,问的问题有点变态。。。
    从上一家出来,没想到在另一家公司又寄了。到这家公司开始上班,加班是每天必不可少的,看在钱给的比较多的份上,就不太计较了。没想到3月一纸通知,所有人不准加班,加班费不仅没有了,薪资还要降40%,这下搞的饭都吃不起了。还在有个朋友内推我去了一家互联网公司,兴冲冲见面试官,没想到一......
  • C语言07-主函数、函数原型、作用域、static和extern关键字
    第11章函数11.1函数的基本概念1.什么是函数?函数是具有特定功能的代码块2.函数的分类库函数自定义函数11.2函数基本语法①声明函数(定义函数)函数四要素:①函数名,是标识符,需要满足标识符规范②函数体,该函数的代码块,写在{}中③返回值和返回类型,......