今天练习js,忽然遇到了一个问题,就是window.onload加载完成后,调用其中的函数会报错,

上一段简单的代码:

报错信息:

报错原因:

当window.onload加载完成后,第一个alert执行是没有问题的,但是函数中的alert却不执行,百度了一下,原来是由于作用域的原因,window.load完成后改变了test函数的作用域,使其变成内部函数,因此是无法访问到test函数的。

解决方法:

只要将test函数写在window.onload外面,便可正常执行。但是,我们还可以用第二种写法,就是直接将test函数绑定在onlaod函数上,这样也是没有问题的。

如果你还不明白的话,可以阅读一下下面链接的文章。

参考来源于:https://blog.csdn.net/c_p_h/article/details/63684510

转载于:https://www.cnblogs.com/ali-king/p/9254814.html

window.onload中调用函数报错的问题相关推荐

  1. php的old函数,laravel单元测试之phpUnit中old()函数报错解决

    php 的 laravel单元测试之phpUnit中old()函数报错解决 前言 最近在做laravel单元测试.遇到了一个问题: 当添加的view里面使用old()函数时就会报错,正常url访问没问 ...

  2. Oracle中wm_concat函数报错解决方法

    Oracle中wm_concat函数报错解决方法 参考文章: (1)Oracle中wm_concat函数报错解决方法 (2)https://www.cnblogs.com/52net/archive/ ...

  3. Python中调用FRED报错ValueError: time data 'fred' does not match format '%Y-%m-%d'

    Python中调用FRED报错ValueError: time data 'fred' does not match format '%Y-%m-%d' 小白一枚,刚学习python调用FRED等数据 ...

  4. MySQL8中创建函数报错的解决

    MySQL8中创建函数报错的解决 一 问题描述 二 解决方案 方案一 : 设置全局环境变量 方案二 : 修改系统配置文件 一 问题描述 在使用MySQL8.x版本的数据库创建函数时, 报出一下错误 H ...

  5. 关于vs2010调用python中Py_Initialize函数报错的原因

    程序刚开始运行到Py_Initialize()函数,报错:ImportError: No module named site 如遇到这个函数报错那么基本上就是你没有将相关路径添加到环境变量中. 两个方 ...

  6. 2021-06-10 工作笔记 ng-change不能触发的解决方法+wui-date日期选择器使用onchange调用函数报错

    当通过JavaScript来修改ng-model的值,ng-change不能触发 <input type="number" ng-model="testNumber ...

  7. react前端封装接口弹出错误_在react项目中用es6封装ajax请求,组件中调用总是报错,求解?...

    函数代码如下class networkEngine{ get(req){ req.type = 'get' ; req.dataType = 'json' ; req.cache = 'false'  ...

  8. java js中 function函数报错_浅析JS中对函数function的理解(基础篇)

    正文:我们知道,在js中,函数实际上是一个对象,每个函数都是Function类型的实例,并且都与其他引用类型一样具有属性和方法.因此,函数名实际上是指向函数对象的指针,不与某个函数绑定.在常见的两种定 ...

  9. vs中imshow函数报错_Win7下VS2010中配置Opencv2.4.4的方法(32位和64位都有效)(亲测成功)...

    在vs2010下配置opencv是件痛苦的事情,一点点错误可能就会导致莫名其妙的报错,各种error让人郁闷不已,这里提供给大家一篇vs2010下配置opencv2.4.4的方法,我是64位的win7 ...

最新文章

  1. c#属性的相关学习总结。
  2. Zookeeper源码分析(二) ----- zookeeper日志
  3. Java的数组集合概括
  4. 包-封装模块、设置__init__和外界导入包
  5. 科技核心期刊目录_中医学2019年版中国科技核心期刊目录(附影响因子)
  6. 牛客题霸 [丑数] C++题解/答案
  7. 使用Matplotlib Numpy Pandas构想泰坦尼克号高潮
  8. 汇编怎么从内存地址写入连续的数字_汇编语言 第一章 基础知识
  9. 未来世界的幸存者 -- 阮一峰
  10. 两种MBR分区表恢复方法
  11. axis调用webservice服务
  12. Tensorflow 中padding 的“SAME” 和“VALID” 详解
  13. 黄金分割法 ( 三分法 )
  14. 金仓数据库 KingbaseES PL/SQL 过程语言参考手册(12. 异常处理)
  15. python关于变量的声明
  16. Mac 打开safari浏览器直接卡死解决方法,解决Safari浏览器访问网页卡死重新再打开浏览器还是卡死实例演示
  17. PDF文件制作方法与指南
  18. 电子鼻气味扫描技术在食品检测中的作用
  19. C语言程序设计课程设计题目[2023-02-11]
  20. Web应用与Web框架

热门文章

  1. how to add user into sudoers file?
  2. JavaWeb: Redis存储Session方案
  3. Java并发(一)wait()与notifyAll()
  4. Linux下ARP相关操作
  5. css 3小时从入门到略通
  6. 常量中有换行符 是怎么回事?
  7. Kafka 时间轮的原理和实现
  8. akka balance router的实现
  9. java多态的好处_java萌新,对象的多态有什么好处?
  10. jvm面试 -- 谈谈ClassLoader ,ClassLoader的双亲委派机制 , loadClass和forName的区别