博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js作用域的一道题的思考
阅读量:4701 次
发布时间:2019-06-09

本文共 710 字,大约阅读时间需要 2 分钟。

var z = 10;function foo() {    console.log(z);  }  (function (funArg){      var z = 20;      funArg();  })(foo);

这个就是一个考察作用域的问题,所以是10.

但是好像想起来以前看到有一本书说IIFE说的
980591-20181128223148932-1731449423.png
就写了一段代码验证了一下
980591-20181128223225620-562702178.png
得到了
980591-20181128223237846-133752824.png
好像真的不能访问
980591-20181128223327983-947493397.png
且慢,容我再试试
980591-20181128223406096-2057346483.png
好吧,写了一段智障代码
980591-20181128223503693-1175852222.png

2019年再次更新

function oopd(){    var name (function() {  if(name === undefined){    console.log('hello world')  }else {    console.log('hello js')  }})()}//hello world

之前可以访问是因为在全局作用域下声明name会成为window的属性。js一言难尽!!!

再次更新!!!!

function oo(){    var name = 3; (function() {  if(name === undefined){    console.log('hello world')  }else {    console.log('hello js')  }})()}

我犯了个错,就是不依赖知识点去整理知识。之前看过一篇文章,知识点很模糊,从而下了个定论,但是忘记了函数自执行也是函数。就遵从函数作用域规则。应该有依有据。也不是大概。这样很误导人。

转载于:https://www.cnblogs.com/yiquan/p/10035506.html

你可能感兴趣的文章
Navicat远程连接阿里云服务器的mysql
查看>>
数据结构化与保存
查看>>
Linux shell 命令判断执行语法 ; , && , ||
查看>>
vim代码格式化插件clang-format
查看>>
RTP Payload Format for Transport of MPEG-4 Elementary Streams over http
查看>>
Java环境变量设置
查看>>
【JBPM4】判断节点decision 方法3 handler
查看>>
filter 过滤器(监听)
查看>>
node启动时, listen EADDRINUSE 报错;
查看>>
杭电3466————DP之01背包(对状态转移方程的更新理解)
查看>>
kafka中的消费组
查看>>
python--注释
查看>>
SQL case when else
查看>>
SYS_CONTEXT 详细用法
查看>>
Pycharm配置autopep8让Python代码更符合pep8规范
查看>>
我的第一篇博客
查看>>
【C++算法与数据结构学习笔记------单链表实现多项式】
查看>>
C#垃圾回收机制
查看>>
31、任务三十一——表单联动
查看>>
python之hasattr、getattr和setattr函数
查看>>