var a = 10; function f1(){ console.log(a) //undefined 函数变量提升了 函数执行之前想创建了函数的EC 把函数里面声明的变量初始化undefined a先访问了f1内部的了 var a = 19; 给局部变量赋值 console.log(a) 19 } f1(); // 面试题 1. var a = 18; function d(){ console.log(a) //undefined 内部变量a提升 var a = {age:19} c…
在shell中定义函数可以使代码模块化,便于复用代码.不过脚本本身的变量和函数的变量的作用域问题可能令你费解,在这里梳理一下这个问题. (1)Shell脚本中定义的变量是global的,其作用域从被定义的地方开始,到shell结束或被显示删除的地方为止. 例1:脚本变量的作用域#!/bin/bash#define the function ltx_funcltx_func(){ echo $v1 #modify the variable v1 v1=200 }#define the…
1.上层函数不能直接使用其嵌套函数的变量: def func1(x, y): z = x + y def func2(): m = 3 z += m return z print(func1(1, 2)) # 报错:name 'm' is not defined 2.上层函数中的变量可以在其嵌套函数内直接使用: def func1(x, y): z = x + y def func2(): m = 3 + z return m return func2() print(func1(1, 2))…